diff --git a/src/main/site/content/docs/4.0/cayenne-guide.html b/src/main/site/content/docs/4.0/cayenne-guide.html
index eb9606c..59058d1 100644
--- a/src/main/site/content/docs/4.0/cayenne-guide.html
+++ b/src/main/site/content/docs/4.0/cayenne-guide.html
@@ -121,7 +121,7 @@
         &lt;plugin&gt;
             &lt;groupId&gt;org.apache.cayenne.plugins&lt;/groupId&gt;
             &lt;artifactId&gt;cayenne-modeler-maven-plugin&lt;/artifactId&gt;
-            &lt;version&gt;4.0.1&lt;/version&gt;
+            &lt;version&gt;4.0.2&lt;/version&gt;
         &lt;/plugin&gt;
     &lt;/plugins&gt;
 &lt;/build&gt;</code></pre> 
@@ -345,9 +345,9 @@
     </div> 
     <div class="ulist"> 
      <ul> 
-      <li> <p><code>cayenne-di-4.0.1.jar</code> - Cayenne dependency injection (DI) container library. All applications will require this file.</p> </li> 
-      <li> <p><code>cayenne-server-4.0.1.jar</code> - contains main Cayenne runtime (adapters, DB access classes, etc.). Most applications will require this file.</p> </li> 
-      <li> <p><code>cayenne-client-4.0.1.jar</code> - a client-side runtime for <a href="#introduction-to-rop">ROP applications</a></p> </li> 
+      <li> <p><code>cayenne-di-4.0.2.jar</code> - Cayenne dependency injection (DI) container library. All applications will require this file.</p> </li> 
+      <li> <p><code>cayenne-server-4.0.2.jar</code> - contains main Cayenne runtime (adapters, DB access classes, etc.). Most applications will require this file.</p> </li> 
+      <li> <p><code>cayenne-client-4.0.2.jar</code> - a client-side runtime for <a href="#introduction-to-rop">ROP applications</a></p> </li> 
       <li> <p>Other cayenne-* jars - various Cayenne tools extensions.</p> </li> 
      </ul> 
     </div> 
@@ -371,7 +371,7 @@
       <pre class="highlight"><code class="language-xml xml" data-lang="xml">&lt;dependency&gt;
    &lt;groupId&gt;org.apache.cayenne&lt;/groupId&gt;
    &lt;artifactId&gt;cayenne-server&lt;/artifactId&gt;
-   &lt;version&gt;4.0.1&lt;/version&gt;
+   &lt;version&gt;4.0.2&lt;/version&gt;
 &lt;/dependency&gt;</code></pre> 
      </div> 
     </div> 
@@ -527,7 +527,7 @@
        <pre class="highlight"><code class="language-xml xml" data-lang="xml">&lt;plugin&gt;
     &lt;groupId&gt;org.apache.cayenne.plugins&lt;/groupId&gt;
     &lt;artifactId&gt;cayenne-maven-plugin&lt;/artifactId&gt;
-    &lt;version&gt;4.0.1&lt;/version&gt;
+    &lt;version&gt;4.0.2&lt;/version&gt;
 
     &lt;configuration&gt;
         &lt;map&gt;${project.basedir}/src/main/resources/my.map.xml&lt;/map&gt;
@@ -690,7 +690,7 @@
        <pre class="highlight"><code class="language-xml xml" data-lang="xml">&lt;plugin&gt;
     &lt;groupId&gt;org.apache.cayenne.plugins&lt;/groupId&gt;
     &lt;artifactId&gt;cayenne-maven-plugin&lt;/artifactId&gt;
-    &lt;version&gt;4.0.1&lt;/version&gt;
+    &lt;version&gt;4.0.2&lt;/version&gt;
     &lt;executions&gt;
         &lt;execution&gt;
             &lt;configuration&gt;
@@ -924,7 +924,7 @@
        <pre class="highlight"><code class="language-XML XML" data-lang="XML">&lt;plugin&gt;
     &lt;groupId&gt;org.apache.cayenne.plugins&lt;/groupId&gt;
     &lt;artifactId&gt;cayenne-maven-plugin&lt;/artifactId&gt;
-    &lt;version&gt;4.0.1&lt;/version&gt;
+    &lt;version&gt;4.0.2&lt;/version&gt;
 
     &lt;executions&gt;
         &lt;execution&gt;
@@ -961,7 +961,7 @@
     </div> 
     <div class="listingblock"> 
      <div class="content"> 
-      <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-server:4.0.1'</code></pre> 
+      <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-server:4.0.2'</code></pre> 
      </div> 
     </div> 
     <div class="ulist"> 
@@ -983,7 +983,7 @@
     }
     // add Cayenne Gradle Plugin
     dependencies {
-        classpath group: 'org.apache.cayenne.plugins', name: 'cayenne-gradle-plugin', version: '4.0.1'
+        classpath group: 'org.apache.cayenne.plugins', name: 'cayenne-gradle-plugin', version: '4.0.2'
     }
 }
 
@@ -4175,7 +4175,7 @@
       <pre class="highlight"><code class="language-XML XML" data-lang="XML">&lt;plugin&gt;
 		&lt;groupId&gt;org.apache.cayenne.plugins&lt;/groupId&gt;
 		&lt;artifactId&gt;cayenne-maven-plugin&lt;/artifactId&gt;
-		&lt;version&gt;4.0.1&lt;/version&gt;
+		&lt;version&gt;4.0.2&lt;/version&gt;
 
 		&lt;configuration&gt;
 			&lt;map&gt;${project.basedir}/src/main/resources/datamap.map.xml&lt;/map&gt;
@@ -4744,7 +4744,7 @@
        <pre class="highlight"><code class="language-XML XML" data-lang="XML">&lt;dependency&gt;
     &lt;groupId&gt;org.apache.cayenne&lt;/groupId&gt;
     &lt;artifactId&gt;cayenne-cache-invalidation&lt;/artifactId&gt;
-    &lt;version&gt;4.0.1&lt;/version&gt;
+    &lt;version&gt;4.0.2&lt;/version&gt;
 &lt;/dependency&gt;</code></pre> 
       </div> 
      </div> 
@@ -4753,7 +4753,7 @@
      <h5 id="gradle"><a class="anchor" href="#gradle"></a>Gradle</h5> 
      <div class="listingblock"> 
       <div class="content"> 
-       <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-cache-invalidation:4.0.1'</code></pre> 
+       <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-cache-invalidation:4.0.2'</code></pre> 
       </div> 
      </div> 
     </div> 
@@ -4838,7 +4838,7 @@
        <pre class="highlight"><code class="language-XML XML" data-lang="XML">&lt;dependency&gt;
     &lt;groupId&gt;org.apache.cayenne&lt;/groupId&gt;
     &lt;artifactId&gt;cayenne-commitlog&lt;/artifactId&gt;
-    &lt;version&gt;4.0.1&lt;/version&gt;
+    &lt;version&gt;4.0.2&lt;/version&gt;
 &lt;/dependency&gt;</code></pre> 
       </div> 
      </div> 
@@ -4847,7 +4847,7 @@
      <h5 id="gradle-2"><a class="anchor" href="#gradle-2"></a>Gradle</h5> 
      <div class="listingblock"> 
       <div class="content"> 
-       <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-commitlog:4.0.1'</code></pre> 
+       <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-commitlog:4.0.2'</code></pre> 
       </div> 
      </div> 
     </div> 
@@ -4924,7 +4924,7 @@
        <pre class="highlight"><code class="language-XML XML" data-lang="XML">&lt;dependency&gt;
     &lt;groupId&gt;org.apache.cayenne&lt;/groupId&gt;
     &lt;artifactId&gt;cayenne-crypto&lt;/artifactId&gt;
-    &lt;version&gt;4.0.1&lt;/version&gt;
+    &lt;version&gt;4.0.2&lt;/version&gt;
 &lt;/dependency&gt;</code></pre> 
       </div> 
      </div> 
@@ -4933,7 +4933,7 @@
      <h5 id="gradle-3"><a class="anchor" href="#gradle-3"></a>Gradle</h5> 
      <div class="listingblock"> 
       <div class="content"> 
-       <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-crypto:4.0.1'</code></pre> 
+       <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-crypto:4.0.2'</code></pre> 
       </div> 
      </div> 
     </div> 
@@ -5049,7 +5049,7 @@
        <pre class="highlight"><code class="language-XML XML" data-lang="XML">&lt;dependency&gt;
     &lt;groupId&gt;org.apache.cayenne&lt;/groupId&gt;
     &lt;artifactId&gt;cayenne-dbcp2&lt;/artifactId&gt;
-    &lt;version&gt;4.0.1&lt;/version&gt;
+    &lt;version&gt;4.0.2&lt;/version&gt;
 &lt;/dependency&gt;</code></pre> 
       </div> 
      </div> 
@@ -5058,7 +5058,7 @@
      <h5 id="gradle-4"><a class="anchor" href="#gradle-4"></a>Gradle</h5> 
      <div class="listingblock"> 
       <div class="content"> 
-       <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-dbcp2:4.0.1'</code></pre> 
+       <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-dbcp2:4.0.2'</code></pre> 
       </div> 
      </div> 
     </div> 
@@ -5092,7 +5092,7 @@
        <pre class="highlight"><code class="language-XML XML" data-lang="XML">&lt;dependency&gt;
     &lt;groupId&gt;org.apache.cayenne&lt;/groupId&gt;
     &lt;artifactId&gt;cayenne-java8&lt;/artifactId&gt;
-    &lt;version&gt;4.0.1&lt;/version&gt;
+    &lt;version&gt;4.0.2&lt;/version&gt;
 &lt;/dependency&gt;</code></pre> 
       </div> 
      </div> 
@@ -5101,7 +5101,7 @@
      <h5 id="gradle-5"><a class="anchor" href="#gradle-5"></a>Gradle</h5> 
      <div class="listingblock"> 
       <div class="content"> 
-       <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-java8:4.0.1'</code></pre> 
+       <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-java8:4.0.2'</code></pre> 
       </div> 
      </div> 
     </div> 
@@ -5130,7 +5130,7 @@
        <pre class="highlight"><code class="language-XML XML" data-lang="XML">&lt;dependency&gt;
     &lt;groupId&gt;org.apache.cayenne&lt;/groupId&gt;
     &lt;artifactId&gt;cayenne-jcache&lt;/artifactId&gt;
-    &lt;version&gt;4.0.1&lt;/version&gt;
+    &lt;version&gt;4.0.2&lt;/version&gt;
 &lt;/dependency&gt;</code></pre> 
       </div> 
      </div> 
@@ -5139,7 +5139,7 @@
      <h5 id="gradle-6"><a class="anchor" href="#gradle-6"></a>Gradle</h5> 
      <div class="listingblock"> 
       <div class="content"> 
-       <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-jcache:4.0.1'</code></pre> 
+       <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-jcache:4.0.2'</code></pre> 
       </div> 
      </div> 
     </div> 
@@ -5184,7 +5184,7 @@
        <pre class="highlight"><code class="language-XML XML" data-lang="XML">&lt;dependency&gt;
     &lt;groupId&gt;org.apache.cayenne&lt;/groupId&gt;
     &lt;artifactId&gt;cayenne-joda&lt;/artifactId&gt;
-    &lt;version&gt;4.0.1&lt;/version&gt;
+    &lt;version&gt;4.0.2&lt;/version&gt;
 &lt;/dependency&gt;</code></pre> 
       </div> 
      </div> 
@@ -5193,7 +5193,7 @@
      <h5 id="gradle-7"><a class="anchor" href="#gradle-7"></a>Gradle</h5> 
      <div class="listingblock"> 
       <div class="content"> 
-       <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-joda:4.0.1'</code></pre> 
+       <pre class="highlight"><code class="language-Groovy Groovy" data-lang="Groovy">compile 'org.apache.cayenne:cayenne-joda:4.0.2'</code></pre> 
       </div> 
      </div> 
     </div> 
diff --git a/src/main/site/content/docs/4.0/getting-started-guide.html b/src/main/site/content/docs/4.0/getting-started-guide.html
index a9cea2e..43a6ca4 100644
--- a/src/main/site/content/docs/4.0/getting-started-guide.html
+++ b/src/main/site/content/docs/4.0/getting-started-guide.html
@@ -284,7 +284,7 @@
     &lt;artifactId&gt;tutorial&lt;/artifactId&gt;
     &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
     &lt;properties&gt;
-        &lt;cayenne.version&gt;4.0.1&lt;/cayenne.version&gt; <i class="conum" data-value="1"></i><b>(1)</b>
+        &lt;cayenne.version&gt;4.0.2&lt;/cayenne.version&gt; <i class="conum" data-value="1"></i><b>(1)</b>
         &lt;maven.compiler.source&gt;1.8&lt;/maven.compiler.source&gt; <i class="conum" data-value="2"></i><b>(2)</b>
         &lt;maven.compiler.target&gt;1.8&lt;/maven.compiler.target&gt;
     &lt;/properties&gt;
diff --git a/src/main/site/content/docs/4.0/getting-started-rop.html b/src/main/site/content/docs/4.0/getting-started-rop.html
index 5e3bd40..8c033da 100644
--- a/src/main/site/content/docs/4.0/getting-started-rop.html
+++ b/src/main/site/content/docs/4.0/getting-started-rop.html
@@ -105,7 +105,7 @@
             &lt;groupId&gt;org.apache.cayenne&lt;/groupId&gt;
             &lt;artifactId&gt;cayenne-client&lt;/artifactId&gt;
             &lt;!-- Here specify the version of Cayenne you are actually using --&gt;
-            &lt;version&gt;4.0.1&lt;/version&gt;
+            &lt;version&gt;4.0.2&lt;/version&gt;
         &lt;/dependency&gt;
         &lt;dependency&gt;
         &lt;groupId&gt;com.caucho&lt;/groupId&gt;
diff --git a/src/main/site/static/docs/4.0/api/allclasses-frame.html b/src/main/site/static/docs/4.0/api/allclasses-frame.html
index 5bf6dea..7ac140e 100644
--- a/src/main/site/static/docs/4.0/api/allclasses-frame.html
+++ b/src/main/site/static/docs/4.0/api/allclasses-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>All Classes (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>All Classes (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -250,6 +250,7 @@
 <li><a href="org/apache/cayenne/access/util/DefaultOperationObserver.html" title="class in org.apache.cayenne.access.util" target="classFrame">DefaultOperationObserver</a></li>
 <li><a href="org/apache/cayenne/dba/DefaultQuotingStrategy.html" title="class in org.apache.cayenne.dba" target="classFrame">DefaultQuotingStrategy</a></li>
 <li><a href="org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" title="class in org.apache.cayenne.access.jdbc.reader" target="classFrame">DefaultRowReaderFactory</a></li>
+<li><a href="org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader" target="classFrame">DefaultRowReaderFactory.PostprocessorFactory</a></li>
 <li><a href="org/apache/cayenne/configuration/DefaultRuntimeProperties.html" title="class in org.apache.cayenne.configuration" target="classFrame">DefaultRuntimeProperties</a></li>
 <li><a href="org/apache/cayenne/access/dbsync/DefaultSchemaUpdateStrategyFactory.html" title="class in org.apache.cayenne.access.dbsync" target="classFrame">DefaultSchemaUpdateStrategyFactory</a></li>
 <li><a href="org/apache/cayenne/di/spi/DefaultScope.html" title="class in org.apache.cayenne.di.spi" target="classFrame">DefaultScope</a></li>
@@ -432,6 +433,7 @@
 <li><a href="org/apache/cayenne/event/EventBridge.html" title="class in org.apache.cayenne.event" target="classFrame">EventBridge</a></li>
 <li><a href="org/apache/cayenne/event/EventBridgeFactory.html" title="interface in org.apache.cayenne.event" target="classFrame"><span class="interfaceName">EventBridgeFactory</span></a></li>
 <li><a href="org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event" target="classFrame"><span class="interfaceName">EventManager</span></a></li>
+<li><a href="org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event" target="classFrame">EventManagerProvider</a></li>
 <li><a href="org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event" target="classFrame">EventSubject</a></li>
 <li><a href="org/apache/cayenne/util/EventUtil.html" title="class in org.apache.cayenne.util" target="classFrame">EventUtil</a></li>
 <li><a href="org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp" target="classFrame">Expression</a></li>
@@ -557,6 +559,7 @@
 <li><a href="org/apache/cayenne/map/MappingNamespace.html" title="interface in org.apache.cayenne.map" target="classFrame"><span class="interfaceName">MappingNamespace</span></a></li>
 <li><a href="org/apache/cayenne/cache/MapQueryCache.html" title="class in org.apache.cayenne.cache" target="classFrame">MapQueryCache</a></li>
 <li><a href="org/apache/cayenne/cache/MapQueryCacheProvider.html" title="class in org.apache.cayenne.cache" target="classFrame">MapQueryCacheProvider</a></li>
+<li><a href="org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb" target="classFrame">MariaDBSniffer</a></li>
 <li><a href="org/apache/cayenne/util/MemoryBlob.html" title="class in org.apache.cayenne.util" target="classFrame">MemoryBlob</a></li>
 <li><a href="org/apache/cayenne/util/MemoryClob.html" title="class in org.apache.cayenne.util" target="classFrame">MemoryClob</a></li>
 <li><a href="org/apache/cayenne/remote/service/MissingSessionException.html" title="class in org.apache.cayenne.remote.service" target="classFrame">MissingSessionException</a></li>
@@ -577,6 +580,7 @@
 <li><a href="org/apache/cayenne/graph/NodePropertyChangeOperation.html" title="class in org.apache.cayenne.graph" target="classFrame">NodePropertyChangeOperation</a></li>
 <li><a href="org/apache/cayenne/event/NoopEventBridge.html" title="class in org.apache.cayenne.event" target="classFrame">NoopEventBridge</a></li>
 <li><a href="org/apache/cayenne/event/NoopEventBridgeProvider.html" title="class in org.apache.cayenne.event" target="classFrame">NoopEventBridgeProvider</a></li>
+<li><a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event" target="classFrame">NoopEventManager</a></li>
 <li><a href="org/apache/cayenne/log/NoopJdbcEventLogger.html" title="class in org.apache.cayenne.log" target="classFrame">NoopJdbcEventLogger</a></li>
 <li><a href="org/apache/cayenne/access/NoSyncObjectStore.html" title="class in org.apache.cayenne.access" target="classFrame">NoSyncObjectStore</a></li>
 <li><a href="org/apache/cayenne/map/ObjAttribute.html" title="class in org.apache.cayenne.map" target="classFrame">ObjAttribute</a></li>
@@ -813,6 +817,7 @@
 <li><a href="org/apache/cayenne/access/ToManyMapFault.html" title="class in org.apache.cayenne.access" target="classFrame">ToManyMapFault</a></li>
 <li><a href="org/apache/cayenne/reflect/ToManyMapProperty.html" title="interface in org.apache.cayenne.reflect" target="classFrame"><span class="interfaceName">ToManyMapProperty</span></a></li>
 <li><a href="org/apache/cayenne/reflect/ToManyProperty.html" title="interface in org.apache.cayenne.reflect" target="classFrame"><span class="interfaceName">ToManyProperty</span></a></li>
+<li><a href="org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access" target="classFrame">ToManySet</a></li>
 <li><a href="org/apache/cayenne/access/ToManySetFault.html" title="class in org.apache.cayenne.access" target="classFrame">ToManySetFault</a></li>
 <li><a href="org/apache/cayenne/access/ToOneFault.html" title="class in org.apache.cayenne.access" target="classFrame">ToOneFault</a></li>
 <li><a href="org/apache/cayenne/reflect/ToOneProperty.html" title="interface in org.apache.cayenne.reflect" target="classFrame"><span class="interfaceName">ToOneProperty</span></a></li>
diff --git a/src/main/site/static/docs/4.0/api/allclasses-noframe.html b/src/main/site/static/docs/4.0/api/allclasses-noframe.html
index f99b1ed..48a621c 100644
--- a/src/main/site/static/docs/4.0/api/allclasses-noframe.html
+++ b/src/main/site/static/docs/4.0/api/allclasses-noframe.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>All Classes (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>All Classes (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -250,6 +250,7 @@
 <li><a href="org/apache/cayenne/access/util/DefaultOperationObserver.html" title="class in org.apache.cayenne.access.util">DefaultOperationObserver</a></li>
 <li><a href="org/apache/cayenne/dba/DefaultQuotingStrategy.html" title="class in org.apache.cayenne.dba">DefaultQuotingStrategy</a></li>
 <li><a href="org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory</a></li>
+<li><a href="org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a></li>
 <li><a href="org/apache/cayenne/configuration/DefaultRuntimeProperties.html" title="class in org.apache.cayenne.configuration">DefaultRuntimeProperties</a></li>
 <li><a href="org/apache/cayenne/access/dbsync/DefaultSchemaUpdateStrategyFactory.html" title="class in org.apache.cayenne.access.dbsync">DefaultSchemaUpdateStrategyFactory</a></li>
 <li><a href="org/apache/cayenne/di/spi/DefaultScope.html" title="class in org.apache.cayenne.di.spi">DefaultScope</a></li>
@@ -432,6 +433,7 @@
 <li><a href="org/apache/cayenne/event/EventBridge.html" title="class in org.apache.cayenne.event">EventBridge</a></li>
 <li><a href="org/apache/cayenne/event/EventBridgeFactory.html" title="interface in org.apache.cayenne.event"><span class="interfaceName">EventBridgeFactory</span></a></li>
 <li><a href="org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event"><span class="interfaceName">EventManager</span></a></li>
+<li><a href="org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event">EventManagerProvider</a></li>
 <li><a href="org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a></li>
 <li><a href="org/apache/cayenne/util/EventUtil.html" title="class in org.apache.cayenne.util">EventUtil</a></li>
 <li><a href="org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</a></li>
@@ -557,6 +559,7 @@
 <li><a href="org/apache/cayenne/map/MappingNamespace.html" title="interface in org.apache.cayenne.map"><span class="interfaceName">MappingNamespace</span></a></li>
 <li><a href="org/apache/cayenne/cache/MapQueryCache.html" title="class in org.apache.cayenne.cache">MapQueryCache</a></li>
 <li><a href="org/apache/cayenne/cache/MapQueryCacheProvider.html" title="class in org.apache.cayenne.cache">MapQueryCacheProvider</a></li>
+<li><a href="org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb">MariaDBSniffer</a></li>
 <li><a href="org/apache/cayenne/util/MemoryBlob.html" title="class in org.apache.cayenne.util">MemoryBlob</a></li>
 <li><a href="org/apache/cayenne/util/MemoryClob.html" title="class in org.apache.cayenne.util">MemoryClob</a></li>
 <li><a href="org/apache/cayenne/remote/service/MissingSessionException.html" title="class in org.apache.cayenne.remote.service">MissingSessionException</a></li>
@@ -577,6 +580,7 @@
 <li><a href="org/apache/cayenne/graph/NodePropertyChangeOperation.html" title="class in org.apache.cayenne.graph">NodePropertyChangeOperation</a></li>
 <li><a href="org/apache/cayenne/event/NoopEventBridge.html" title="class in org.apache.cayenne.event">NoopEventBridge</a></li>
 <li><a href="org/apache/cayenne/event/NoopEventBridgeProvider.html" title="class in org.apache.cayenne.event">NoopEventBridgeProvider</a></li>
+<li><a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></li>
 <li><a href="org/apache/cayenne/log/NoopJdbcEventLogger.html" title="class in org.apache.cayenne.log">NoopJdbcEventLogger</a></li>
 <li><a href="org/apache/cayenne/access/NoSyncObjectStore.html" title="class in org.apache.cayenne.access">NoSyncObjectStore</a></li>
 <li><a href="org/apache/cayenne/map/ObjAttribute.html" title="class in org.apache.cayenne.map">ObjAttribute</a></li>
@@ -813,6 +817,7 @@
 <li><a href="org/apache/cayenne/access/ToManyMapFault.html" title="class in org.apache.cayenne.access">ToManyMapFault</a></li>
 <li><a href="org/apache/cayenne/reflect/ToManyMapProperty.html" title="interface in org.apache.cayenne.reflect"><span class="interfaceName">ToManyMapProperty</span></a></li>
 <li><a href="org/apache/cayenne/reflect/ToManyProperty.html" title="interface in org.apache.cayenne.reflect"><span class="interfaceName">ToManyProperty</span></a></li>
+<li><a href="org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></li>
 <li><a href="org/apache/cayenne/access/ToManySetFault.html" title="class in org.apache.cayenne.access">ToManySetFault</a></li>
 <li><a href="org/apache/cayenne/access/ToOneFault.html" title="class in org.apache.cayenne.access">ToOneFault</a></li>
 <li><a href="org/apache/cayenne/reflect/ToOneProperty.html" title="interface in org.apache.cayenne.reflect"><span class="interfaceName">ToOneProperty</span></a></li>
diff --git a/src/main/site/static/docs/4.0/api/constant-values.html b/src/main/site/static/docs/4.0/api/constant-values.html
index 72a3ce7..6719800 100644
--- a/src/main/site/static/docs/4.0/api/constant-values.html
+++ b/src/main/site/static/docs/4.0/api/constant-values.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Constant Field Values (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Constant Field Values (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Constant Field Values (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Constant Field Values (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1363,6 +1363,27 @@
 <ul class="blockList">
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.cayenne.dba.mariadb.<a href="org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb">MariaDBSniffer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.cayenne.dba.mariadb.MariaDBSniffer.DEFAULT_STORAGE_ENGINE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/cayenne/dba/mariadb/MariaDBSniffer.html#DEFAULT_STORAGE_ENGINE">DEFAULT_STORAGE_ENGINE</a></code></td>
+<td class="colLast"><code>"InnoDB"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.cayenne.dba.oracle.<a href="org/apache/cayenne/dba/oracle/OracleAdapter.html" title="class in org.apache.cayenne.dba.oracle">OracleAdapter</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -4999,6 +5020,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/deprecated-list.html b/src/main/site/static/docs/4.0/api/deprecated-list.html
index 4980943..ffd7d07 100644
--- a/src/main/site/static/docs/4.0/api/deprecated-list.html
+++ b/src/main/site/static/docs/4.0/api/deprecated-list.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Deprecated List (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Deprecated List (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Deprecated List (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Deprecated List (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1112,6 +1112,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/help-doc.html b/src/main/site/static/docs/4.0/api/help-doc.html
index ea8fd22..7d1711b 100644
--- a/src/main/site/static/docs/4.0/api/help-doc.html
+++ b/src/main/site/static/docs/4.0/api/help-doc.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>API Help (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>API Help (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="API Help (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="API Help (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -226,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/index-all.html b/src/main/site/static/docs/4.0/api/index-all.html
index fb09911..883ab18 100644
--- a/src/main/site/static/docs/4.0/api/index-all.html
+++ b/src/main/site/static/docs/4.0/api/index-all.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Index (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Index (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Index (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -434,6 +434,10 @@
 <dd>
 <div class="block">Register an <code>EventListener</code> for events sent by a specific sender.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/event/NoopEventManager.html#addListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">addListener(Object, String, Class&lt;?&gt;, EventSubject)</a></span> - Method in class org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/event/NoopEventManager.html#addListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-java.lang.Object-">addListener(Object, String, Class&lt;?&gt;, EventSubject, Object)</a></span> - Method in class org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/reflect/LifecycleCallbackRegistry.html#addListener-java.lang.Class-org.apache.cayenne.LifecycleListener-">addListener(Class&lt;?&gt;, LifecycleListener)</a></span> - Method in class org.apache.cayenne.reflect.<a href="org/apache/cayenne/reflect/LifecycleCallbackRegistry.html" title="class in org.apache.cayenne.reflect">LifecycleCallbackRegistry</a></dt>
 <dd>
 <div class="block">Registers a <a href="org/apache/cayenne/LifecycleListener.html" title="interface in org.apache.cayenne"><code>LifecycleListener</code></a> for all events on all entities.</div>
@@ -479,6 +483,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/event/EventManager.html#addNonBlockingListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-java.lang.Object-">addNonBlockingListener(Object, String, Class&lt;?&gt;, EventSubject, Object)</a></span> - Method in interface org.apache.cayenne.event.<a href="org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/event/NoopEventManager.html#addNonBlockingListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">addNonBlockingListener(Object, String, Class&lt;?&gt;, EventSubject)</a></span> - Method in class org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/event/NoopEventManager.html#addNonBlockingListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-java.lang.Object-">addNonBlockingListener(Object, String, Class&lt;?&gt;, EventSubject, Object)</a></span> - Method in class org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/map/EntityResult.html#addObjectField-java.lang.String-java.lang.String-">addObjectField(String, String)</a></span> - Method in class org.apache.cayenne.map.<a href="org/apache/cayenne/map/EntityResult.html" title="class in org.apache.cayenne.map">EntityResult</a></dt>
 <dd>
 <div class="block">Adds a result set column mapping for a single object property of the root
@@ -4011,6 +4019,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/dba/ingres/IngresSniffer.html#createAdapter-java.sql.DatabaseMetaData-">createAdapter(DatabaseMetaData)</a></span> - Method in class org.apache.cayenne.dba.ingres.<a href="org/apache/cayenne/dba/ingres/IngresSniffer.html" title="class in org.apache.cayenne.dba.ingres">IngresSniffer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/dba/mariadb/MariaDBSniffer.html#createAdapter-java.sql.DatabaseMetaData-">createAdapter(DatabaseMetaData)</a></span> - Method in class org.apache.cayenne.dba.mariadb.<a href="org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb">MariaDBSniffer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/dba/mysql/MySQLSniffer.html#createAdapter-java.sql.DatabaseMetaData-">createAdapter(DatabaseMetaData)</a></span> - Method in class org.apache.cayenne.dba.mysql.<a href="org/apache/cayenne/dba/mysql/MySQLSniffer.html" title="class in org.apache.cayenne.dba.mysql">MySQLSniffer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/dba/openbase/OpenBaseSniffer.html#createAdapter-java.sql.DatabaseMetaData-">createAdapter(DatabaseMetaData)</a></span> - Method in class org.apache.cayenne.dba.openbase.<a href="org/apache/cayenne/dba/openbase/OpenBaseSniffer.html" title="class in org.apache.cayenne.dba.openbase">OpenBaseSniffer</a></dt>
@@ -4168,6 +4178,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/reflect/PersistentDescriptorFactory.html#createEmbeddedAttributeProperty-org.apache.cayenne.reflect.PersistentDescriptor-org.apache.cayenne.map.EmbeddedAttribute-org.apache.cayenne.map.ObjAttribute-">createEmbeddedAttributeProperty(PersistentDescriptor, EmbeddedAttribute, ObjAttribute)</a></span> - Method in class org.apache.cayenne.reflect.<a href="org/apache/cayenne/reflect/PersistentDescriptorFactory.html" title="class in org.apache.cayenne.reflect">PersistentDescriptorFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createEntityRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.query.EntityResultSegment-org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory-">createEntityRowReader(RowDescriptor, QueryMetadata, EntityResultSegment, DefaultRowReaderFactory.PostprocessorFactory)</a></span> - Method in class org.apache.cayenne.access.jdbc.reader.<a href="org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/event/EventBridgeFactory.html#createEventBridge-java.util.Collection-java.lang.String-java.util.Map-">createEventBridge(Collection&lt;EventSubject&gt;, String, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.cayenne.event.<a href="org/apache/cayenne/event/EventBridgeFactory.html" title="interface in org.apache.cayenne.event">EventBridgeFactory</a></dt>
 <dd>
 <div class="block">Creates an <a href="org/apache/cayenne/event/EventBridge.html" title="class in org.apache.cayenne.event"><code>EventBridge</code></a> with the specified parameters.</div>
@@ -4204,6 +4216,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/configuration/server/DataContextFactory.html#createFromGenericChannel-org.apache.cayenne.DataChannel-">createFromGenericChannel(DataChannel)</a></span> - Method in class org.apache.cayenne.configuration.server.<a href="org/apache/cayenne/configuration/server/DataContextFactory.html" title="class in org.apache.cayenne.configuration.server">DataContextFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createFullRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory-">createFullRowReader(RowDescriptor, QueryMetadata, DefaultRowReaderFactory.PostprocessorFactory)</a></span> - Method in class org.apache.cayenne.access.jdbc.reader.<a href="org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/rop/HttpClientConnectionProvider.html#createHttpRopConnector--">createHttpRopConnector()</a></span> - Method in class org.apache.cayenne.rop.<a href="org/apache/cayenne/rop/HttpClientConnectionProvider.html" title="class in org.apache.cayenne.rop">HttpClientConnectionProvider</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/cache/MapQueryCache.html#createIfAbsent-org.apache.cayenne.query.QueryMetadata-">createIfAbsent(QueryMetadata)</a></span> - Method in class org.apache.cayenne.cache.<a href="org/apache/cayenne/cache/MapQueryCache.html" title="class in org.apache.cayenne.cache">MapQueryCache</a></dt>
@@ -4399,6 +4413,8 @@
 <div class="block">Creates a complimentary reverse relationship from target entity to the
  source entity.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createScalarRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.query.ScalarResultSegment-">createScalarRowReader(RowDescriptor, QueryMetadata, ScalarResultSegment)</a></span> - Method in class org.apache.cayenne.access.jdbc.reader.<a href="org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/exp/Property.html#createSelf-java.lang.Class-">createSelf(Class&lt;? super T&gt;)</a></span> - Static method in class org.apache.cayenne.exp.<a href="org/apache/cayenne/exp/Property.html" title="class in org.apache.cayenne.exp">Property</a></dt>
 <dd>
 <div class="block">
@@ -5537,6 +5553,8 @@
 <dd>
 <div class="block">Defines the name of the property for default DB schema.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/dba/mariadb/MariaDBSniffer.html#DEFAULT_STORAGE_ENGINE">DEFAULT_STORAGE_ENGINE</a></span> - Static variable in class org.apache.cayenne.dba.mariadb.<a href="org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb">MariaDBSniffer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/map/DataMap.html#DEFAULT_SUPERCLASS_PROPERTY">DEFAULT_SUPERCLASS_PROPERTY</a></span> - Static variable in class org.apache.cayenne.map.<a href="org/apache/cayenne/map/DataMap.html" title="class in org.apache.cayenne.map">DataMap</a></dt>
 <dd>
 <div class="block">Defines the name of the property for default Java superclass.</div>
@@ -5661,6 +5679,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#DefaultRowReaderFactory--">DefaultRowReaderFactory()</a></span> - Constructor for class org.apache.cayenne.access.jdbc.reader.<a href="org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">DefaultRowReaderFactory.PostprocessorFactory</span></a> - Class in <a href="org/apache/cayenne/access/jdbc/reader/package-summary.html">org.apache.cayenne.access.jdbc.reader</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/cayenne/configuration/DefaultRuntimeProperties.html" title="class in org.apache.cayenne.configuration"><span class="typeNameLink">DefaultRuntimeProperties</span></a> - Class in <a href="org/apache/cayenne/configuration/package-summary.html">org.apache.cayenne.configuration</a></dt>
 <dd>
 <div class="block">An implementation of <a href="org/apache/cayenne/configuration/RuntimeProperties.html" title="interface in org.apache.cayenne.configuration"><code>RuntimeProperties</code></a> that returns properties that
@@ -7779,6 +7799,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/remote/ClientChannel.html#eventManager">eventManager</a></span> - Variable in class org.apache.cayenne.remote.<a href="org/apache/cayenne/remote/ClientChannel.html" title="class in org.apache.cayenne.remote">ClientChannel</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">EventManagerProvider</span></a> - Class in <a href="org/apache/cayenne/event/package-summary.html">org.apache.cayenne.event</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/event/EventManagerProvider.html#EventManagerProvider-org.apache.cayenne.configuration.RuntimeProperties-">EventManagerProvider(RuntimeProperties)</a></span> - Constructor for class org.apache.cayenne.event.<a href="org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event">EventManagerProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/event/DefaultEventManager.html#eventQueue">eventQueue</a></span> - Variable in class org.apache.cayenne.event.<a href="org/apache/cayenne/event/DefaultEventManager.html" title="class in org.apache.cayenne.event">DefaultEventManager</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/access/DataRowStore.html#eventSubject">eventSubject</a></span> - Variable in class org.apache.cayenne.access.<a href="org/apache/cayenne/access/DataRowStore.html" title="class in org.apache.cayenne.access">DataRowStore</a></dt>
@@ -8619,6 +8643,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/di/spi/DefaultScopeProvider.html#get--">get()</a></span> - Method in class org.apache.cayenne.di.spi.<a href="org/apache/cayenne/di/spi/DefaultScopeProvider.html" title="class in org.apache.cayenne.di.spi">DefaultScopeProvider</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/event/EventManagerProvider.html#get--">get()</a></span> - Method in class org.apache.cayenne.event.<a href="org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event">EventManagerProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/event/NoopEventBridgeProvider.html#get--">get()</a></span> - Method in class org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventBridgeProvider.html" title="class in org.apache.cayenne.event">NoopEventBridgeProvider</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/remote/RemoteIncrementalFaultList.html#get-int-">get(int)</a></span> - Method in class org.apache.cayenne.remote.<a href="org/apache/cayenne/remote/RemoteIncrementalFaultList.html" title="class in org.apache.cayenne.remote">RemoteIncrementalFaultList</a></dt>
@@ -14280,6 +14306,8 @@
 <dd>
 <div class="block">Returns true if this EventManager is single-threaded.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/event/NoopEventManager.html#isSingleThreaded--">isSingleThreaded()</a></span> - Method in class org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/map/ObjRelationship.html#isSourceDefiningTargetPrecenseAndType-org.apache.cayenne.map.EntityResolver-">isSourceDefiningTargetPrecenseAndType(EntityResolver)</a></span> - Method in class org.apache.cayenne.map.<a href="org/apache/cayenne/map/ObjRelationship.html" title="class in org.apache.cayenne.map">ObjRelationship</a></dt>
 <dd>
 <div class="block">Returns true if the relationship is non-optional and target has no
@@ -16160,6 +16188,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/map/EntityResolver.html#maps">maps</a></span> - Variable in class org.apache.cayenne.map.<a href="org/apache/cayenne/map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb"><span class="typeNameLink">MariaDBSniffer</span></a> - Class in <a href="org/apache/cayenne/dba/mariadb/package-summary.html">org.apache.cayenne.dba.mariadb</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/dba/mariadb/MariaDBSniffer.html#MariaDBSniffer-org.apache.cayenne.di.AdhocObjectFactory-">MariaDBSniffer(AdhocObjectFactory)</a></span> - Constructor for class org.apache.cayenne.dba.mariadb.<a href="org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb">MariaDBSniffer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/util/ObjectContextGraphAction.html#markAsDirty-org.apache.cayenne.Persistent-">markAsDirty(Persistent)</a></span> - Method in class org.apache.cayenne.util.<a href="org/apache/cayenne/util/ObjectContextGraphAction.html" title="class in org.apache.cayenne.util">ObjectContextGraphAction</a></dt>
 <dd>
 <div class="block">Changes object state to MODIFIED if needed, returning true if the change has
@@ -17110,6 +17142,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/event/NoopEventBridgeProvider.html#NoopEventBridgeProvider--">NoopEventBridgeProvider()</a></span> - Constructor for class org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventBridgeProvider.html" title="class in org.apache.cayenne.event">NoopEventBridgeProvider</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">NoopEventManager</span></a> - Class in <a href="org/apache/cayenne/event/package-summary.html">org.apache.cayenne.event</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/event/NoopEventManager.html#NoopEventManager--">NoopEventManager()</a></span> - Constructor for class org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/cayenne/log/NoopJdbcEventLogger.html" title="class in org.apache.cayenne.log"><span class="typeNameLink">NoopJdbcEventLogger</span></a> - Class in <a href="org/apache/cayenne/log/package-summary.html">org.apache.cayenne.log</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/dba/oracle/OracleUtilDateType.html#normalizeDate-java.util.Date-">normalizeDate(Date)</a></span> - Method in class org.apache.cayenne.dba.oracle.<a href="org/apache/cayenne/dba/oracle/OracleUtilDateType.html" title="class in org.apache.cayenne.dba.oracle">OracleUtilDateType</a></dt>
@@ -17385,6 +17421,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/dba/ingres/IngresSniffer.html#objectFactory">objectFactory</a></span> - Variable in class org.apache.cayenne.dba.ingres.<a href="org/apache/cayenne/dba/ingres/IngresSniffer.html" title="class in org.apache.cayenne.dba.ingres">IngresSniffer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/dba/mariadb/MariaDBSniffer.html#objectFactory">objectFactory</a></span> - Variable in class org.apache.cayenne.dba.mariadb.<a href="org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb">MariaDBSniffer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/dba/mysql/MySQLSniffer.html#objectFactory">objectFactory</a></span> - Variable in class org.apache.cayenne.dba.mysql.<a href="org/apache/cayenne/dba/mysql/MySQLSniffer.html" title="class in org.apache.cayenne.dba.mysql">MySQLSniffer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/dba/openbase/OpenBaseSniffer.html#objectFactory">objectFactory</a></span> - Variable in class org.apache.cayenne.dba.openbase.<a href="org/apache/cayenne/dba/openbase/OpenBaseSniffer.html" title="class in org.apache.cayenne.dba.openbase">OpenBaseSniffer</a></dt>
@@ -18104,6 +18142,8 @@
 </dd>
 <dt><a href="org/apache/cayenne/dba/ingres/package-summary.html">org.apache.cayenne.dba.ingres</a> - package org.apache.cayenne.dba.ingres</dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/cayenne/dba/mariadb/package-summary.html">org.apache.cayenne.dba.mariadb</a> - package org.apache.cayenne.dba.mariadb</dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/cayenne/dba/mysql/package-summary.html">org.apache.cayenne.dba.mysql</a> - package org.apache.cayenne.dba.mysql</dt>
 <dd>
 <div class="block">MySQL DbAdapter.</div>
@@ -18948,6 +18988,8 @@
 <dd>
 <div class="block">Sends an event to all registered objects about a particular subject.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/event/NoopEventManager.html#postEvent-java.util.EventObject-org.apache.cayenne.event.EventSubject-">postEvent(EventObject, EventSubject)</a></span> - Method in class org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/cayenne/dba/postgres/PostgresAdapter.html" title="class in org.apache.cayenne.dba.postgres"><span class="typeNameLink">PostgresAdapter</span></a> - Class in <a href="org/apache/cayenne/dba/postgres/package-summary.html">org.apache.cayenne.dba.postgres</a></dt>
 <dd>
 <div class="block">DbAdapter implementation for <a href="http://www.postgresql.org">PostgreSQL
@@ -18990,6 +19032,8 @@
 <dd>
 <div class="block">Sends an event to all registered objects about a particular subject.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/event/NoopEventManager.html#postNonBlockingEvent-java.util.EventObject-org.apache.cayenne.event.EventSubject-">postNonBlockingEvent(EventObject, EventSubject)</a></span> - Method in class org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/cayenne/annotation/PostPersist.html" title="annotation in org.apache.cayenne.annotation"><span class="typeNameLink">PostPersist</span></a> - Annotation Type in <a href="org/apache/cayenne/annotation/package-summary.html">org.apache.cayenne.annotation</a></dt>
 <dd>
 <div class="block">An annotation to place on the entity event listener method to receive
@@ -19001,6 +19045,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/access/ToManyList.html#postprocessAdd-java.lang.Object-">postprocessAdd(Object)</a></span> - Method in class org.apache.cayenne.access.<a href="org/apache/cayenne/access/ToManyList.html" title="class in org.apache.cayenne.access">ToManyList</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/access/ToManySet.html#postprocessAdd-java.util.Collection-">postprocessAdd(Collection&lt;?&gt;)</a></span> - Method in class org.apache.cayenne.access.<a href="org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/access/ToManySet.html#postprocessAdd-java.lang.Object-">postprocessAdd(Object)</a></span> - Method in class org.apache.cayenne.access.<a href="org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/util/PersistentObjectList.html#postprocessAdd-java.util.Collection-">postprocessAdd(Collection&lt;?&gt;)</a></span> - Method in class org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectList.html" title="class in org.apache.cayenne.util">PersistentObjectList</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/util/PersistentObjectList.html#postprocessAdd-java.lang.Object-">postprocessAdd(Object)</a></span> - Method in class org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectList.html" title="class in org.apache.cayenne.util">PersistentObjectList</a></dt>
@@ -19009,10 +19057,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/util/PersistentObjectMap.html#postprocessAdd-java.util.Collection-">postprocessAdd(Collection)</a></span> - Method in class org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectMap.html" title="class in org.apache.cayenne.util">PersistentObjectMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/util/PersistentObjectSet.html#postprocessAdd-java.util.Collection-">postprocessAdd(Collection&lt;?&gt;)</a></span> - Method in class org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/util/PersistentObjectSet.html#postprocessAdd-java.lang.Object-">postprocessAdd(Object)</a></span> - Method in class org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/access/ToManyList.html#postprocessRemove-java.util.Collection-">postprocessRemove(Collection)</a></span> - Method in class org.apache.cayenne.access.<a href="org/apache/cayenne/access/ToManyList.html" title="class in org.apache.cayenne.access">ToManyList</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/access/ToManyList.html#postprocessRemove-java.lang.Object-">postprocessRemove(Object)</a></span> - Method in class org.apache.cayenne.access.<a href="org/apache/cayenne/access/ToManyList.html" title="class in org.apache.cayenne.access">ToManyList</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/access/ToManySet.html#postprocessRemove-java.util.Collection-">postprocessRemove(Collection&lt;?&gt;)</a></span> - Method in class org.apache.cayenne.access.<a href="org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/access/ToManySet.html#postprocessRemove-java.lang.Object-">postprocessRemove(Object)</a></span> - Method in class org.apache.cayenne.access.<a href="org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/util/PersistentObjectList.html#postprocessRemove-java.util.Collection-">postprocessRemove(Collection&lt;?&gt;)</a></span> - Method in class org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectList.html" title="class in org.apache.cayenne.util">PersistentObjectList</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/util/PersistentObjectList.html#postprocessRemove-java.lang.Object-">postprocessRemove(Object)</a></span> - Method in class org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectList.html" title="class in org.apache.cayenne.util">PersistentObjectList</a></dt>
@@ -19021,6 +19077,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/util/PersistentObjectMap.html#postprocessRemove-java.util.Collection-">postprocessRemove(Collection)</a></span> - Method in class org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectMap.html" title="class in org.apache.cayenne.util">PersistentObjectMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/util/PersistentObjectSet.html#postprocessRemove-java.util.Collection-">postprocessRemove(Collection&lt;?&gt;)</a></span> - Method in class org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/util/PersistentObjectSet.html#postprocessRemove-java.lang.Object-">postprocessRemove(Object)</a></span> - Method in class org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/cayenne/annotation/PostRemove.html" title="annotation in org.apache.cayenne.annotation"><span class="typeNameLink">PostRemove</span></a> - Annotation Type in <a href="org/apache/cayenne/annotation/package-summary.html">org.apache.cayenne.annotation</a></dt>
 <dd>
 <div class="block">An annotation to place on the entity event listener method to receive
@@ -19491,6 +19551,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/configuration/server/PropertyDataSourceFactory.html#properties">properties</a></span> - Variable in class org.apache.cayenne.configuration.server.<a href="org/apache/cayenne/configuration/server/PropertyDataSourceFactory.html" title="class in org.apache.cayenne.configuration.server">PropertyDataSourceFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/event/EventManagerProvider.html#properties">properties</a></span> - Variable in class org.apache.cayenne.event.<a href="org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event">EventManagerProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/map/QueryDescriptor.html#properties">properties</a></span> - Variable in class org.apache.cayenne.map.<a href="org/apache/cayenne/map/QueryDescriptor.html" title="class in org.apache.cayenne.map">QueryDescriptor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/map/QueryDescriptorLoader.html#properties">properties</a></span> - Variable in class org.apache.cayenne.map.<a href="org/apache/cayenne/map/QueryDescriptorLoader.html" title="class in org.apache.cayenne.map">QueryDescriptorLoader</a></dt>
@@ -20530,6 +20592,8 @@
 <dd>
 <div class="block">Removes all listeners for a given subject.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/event/NoopEventManager.html#removeAllListeners-org.apache.cayenne.event.EventSubject-">removeAllListeners(EventSubject)</a></span> - Method in class org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/ashwood/graph/Digraph.html#removeAllVertices-java.util.Collection-">removeAllVertices(Collection&lt;? extends E&gt;)</a></span> - Method in interface org.apache.cayenne.ashwood.graph.<a href="org/apache/cayenne/ashwood/graph/Digraph.html" title="interface in org.apache.cayenne.ashwood.graph">Digraph</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/ashwood/graph/MapDigraph.html#removeAllVertices-java.util.Collection-">removeAllVertices(Collection&lt;? extends E&gt;)</a></span> - Method in class org.apache.cayenne.ashwood.graph.<a href="org/apache/cayenne/ashwood/graph/MapDigraph.html" title="class in org.apache.cayenne.ashwood.graph">MapDigraph</a></dt>
@@ -20710,6 +20774,12 @@
 <div class="block">Unregister the specified listener for the events about the given subject and the
  given sender.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/event/NoopEventManager.html#removeListener-java.lang.Object-">removeListener(Object)</a></span> - Method in class org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/event/NoopEventManager.html#removeListener-java.lang.Object-org.apache.cayenne.event.EventSubject-">removeListener(Object, EventSubject)</a></span> - Method in class org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/event/NoopEventManager.html#removeListener-java.lang.Object-org.apache.cayenne.event.EventSubject-java.lang.Object-">removeListener(Object, EventSubject, Object)</a></span> - Method in class org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/util/PersistentObjectList.html#removeLocal-java.lang.Object-">removeLocal(Object)</a></span> - Method in class org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectList.html" title="class in org.apache.cayenne.util">PersistentObjectList</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/map/DataMap.html#removeObjEntity-java.lang.String-">removeObjEntity(String)</a></span> - Method in class org.apache.cayenne.map.<a href="org/apache/cayenne/map/DataMap.html" title="class in org.apache.cayenne.map">DataMap</a></dt>
@@ -22033,6 +22103,8 @@
  value that this <code>Clob</code> object represents, starting at position
  <code>pos</code>.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setAttribute-org.apache.cayenne.map.DbAttribute-">setAttribute(DbAttribute)</a></span> - Method in class org.apache.cayenne.access.jdbc.<a href="org/apache/cayenne/access/jdbc/ColumnDescriptor.html" title="class in org.apache.cayenne.access.jdbc">ColumnDescriptor</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/map/event/AttributeEvent.html#setAttribute-org.apache.cayenne.map.Attribute-">setAttribute(Attribute)</a></span> - Method in class org.apache.cayenne.map.event.<a href="org/apache/cayenne/map/event/AttributeEvent.html" title="class in org.apache.cayenne.map.event">AttributeEvent</a></dt>
 <dd>
 <div class="block">Sets the attribute.</div>
@@ -23658,6 +23730,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/util/PersistentObjectList.html#shouldAddToRemovedFromUnresolvedList-java.lang.Object-">shouldAddToRemovedFromUnresolvedList(Object)</a></span> - Method in class org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectList.html" title="class in org.apache.cayenne.util">PersistentObjectList</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/access/ToManySet.html#shouldAddToRemovedFromUnresolvedSet-java.lang.Object-">shouldAddToRemovedFromUnresolvedSet(Object)</a></span> - Method in class org.apache.cayenne.access.<a href="org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/util/PersistentObjectSet.html#shouldAddToRemovedFromUnresolvedSet-java.lang.Object-">shouldAddToRemovedFromUnresolvedSet(Object)</a></span> - Method in class org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/configuration/server/DelegatingDataSourceFactory.html#shouldConfigureDataSourceFromProperties-org.apache.cayenne.configuration.DataNodeDescriptor-">shouldConfigureDataSourceFromProperties(DataNodeDescriptor)</a></span> - Method in class org.apache.cayenne.configuration.server.<a href="org/apache/cayenne/configuration/server/DelegatingDataSourceFactory.html" title="class in org.apache.cayenne.configuration.server">DelegatingDataSourceFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/access/DbGenerator.html#shouldCreateFKConstraints">shouldCreateFKConstraints</a></span> - Variable in class org.apache.cayenne.access.<a href="org/apache/cayenne/access/DbGenerator.html" title="class in org.apache.cayenne.access">DbGenerator</a></dt>
@@ -24984,6 +25060,10 @@
 <dd>
 <div class="block">A property representing a collection of objects.</div>
 </dd>
+<dt><a href="org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">ToManySet</span></a> - Class in <a href="org/apache/cayenne/access/package-summary.html">org.apache.cayenne.access</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/access/ToManySet.html#ToManySet-org.apache.cayenne.Persistent-java.lang.String-">ToManySet(Persistent, String)</a></span> - Constructor for class org.apache.cayenne.access.<a href="org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/cayenne/access/ToManySetFault.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">ToManySetFault</span></a> - Class in <a href="org/apache/cayenne/access/package-summary.html">org.apache.cayenne.access</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/access/ToManySetFault.html#ToManySetFault--">ToManySetFault()</a></span> - Constructor for class org.apache.cayenne.access.<a href="org/apache/cayenne/access/ToManySetFault.html" title="class in org.apache.cayenne.access">ToManySetFault</a></dt>
@@ -25669,6 +25749,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/access/ToManyList.html#updateReverse-java.util.List-">updateReverse(List)</a></span> - Method in class org.apache.cayenne.access.<a href="org/apache/cayenne/access/ToManyList.html" title="class in org.apache.cayenne.access">ToManyList</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/cayenne/access/ToManySet.html#updateReverse-java.util.List-">updateReverse(List)</a></span> - Method in class org.apache.cayenne.access.<a href="org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/util/RelationshipFault.html#updateReverse-java.util.List-">updateReverse(List)</a></span> - Method in class org.apache.cayenne.util.<a href="org/apache/cayenne/util/RelationshipFault.html" title="class in org.apache.cayenne.util">RelationshipFault</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/cayenne/access/dbsync/BaseSchemaUpdateStrategy.html#updateSchema-org.apache.cayenne.access.DataNode-">updateSchema(DataNode)</a></span> - Method in class org.apache.cayenne.access.dbsync.<a href="org/apache/cayenne/access/dbsync/BaseSchemaUpdateStrategy.html" title="class in org.apache.cayenne.access.dbsync">BaseSchemaUpdateStrategy</a></dt>
@@ -27303,6 +27385,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/index.html b/src/main/site/static/docs/4.0/api/index.html
index e382226..7112d79 100644
--- a/src/main/site/static/docs/4.0/api/index.html
+++ b/src/main/site/static/docs/4.0/api/index.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>cayenne-doc: Cayenne Documentation 4.0.1 API</title>
+<title>cayenne-doc: Cayenne Documentation 4.0.2 API</title>
 <script type="text/javascript">
     tmpTargetPage = "" + window.location.search;
     if (tmpTargetPage != "" && tmpTargetPage != "undefined")
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/BaseContext.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/BaseContext.html
index 9d653f3..1eed221 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/BaseContext.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/BaseContext.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BaseContext (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BaseContext (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BaseContext (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BaseContext (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1621,6 +1621,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/Cayenne.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/Cayenne.html
index 941fd3b..ac28556 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/Cayenne.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/Cayenne.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Cayenne (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Cayenne (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Cayenne (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Cayenne (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -728,6 +728,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneContext.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneContext.html
index 60a7c21..c455ceb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneContext.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneContext.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CayenneContext (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CayenneContext (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CayenneContext (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CayenneContext (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -816,6 +816,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneDataObject.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneDataObject.html
index 47262e3..df3eff7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneDataObject.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneDataObject.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CayenneDataObject (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CayenneDataObject (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CayenneDataObject (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CayenneDataObject (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -977,6 +977,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneException.html
index 626db08..7a13531 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CayenneException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CayenneException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CayenneException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CayenneException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -389,6 +389,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneRuntimeException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneRuntimeException.html
index cf42b4d..7914432 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneRuntimeException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/CayenneRuntimeException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CayenneRuntimeException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CayenneRuntimeException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CayenneRuntimeException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CayenneRuntimeException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -395,6 +395,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ConfigurationException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ConfigurationException.html
index 67acf59..d3b3b90 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ConfigurationException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ConfigurationException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ConfigurationException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ConfigurationException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ConfigurationException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ConfigurationException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -335,6 +335,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannel.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannel.html
index 72e395e..ad287b0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannel.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannel.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataChannel (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataChannel (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataChannel (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataChannel (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelFilter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelFilter.html
index 9682c10..9e70dc4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelFilter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataChannelFilter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataChannelFilter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataChannelFilter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataChannelFilter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -266,6 +266,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelFilterChain.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelFilterChain.html
index 4e0bb55..86d021c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelFilterChain.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelFilterChain.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataChannelFilterChain (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataChannelFilterChain (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataChannelFilterChain (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataChannelFilterChain (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -243,6 +243,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelListener.html
index c358bd0..3c56c47 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataChannelListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataChannelListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataChannelListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataChannelListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -273,6 +273,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelSyncCallbackAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelSyncCallbackAction.html
index 1c3f69b..07b3221 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelSyncCallbackAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelSyncCallbackAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataChannelSyncCallbackAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataChannelSyncCallbackAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataChannelSyncCallbackAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataChannelSyncCallbackAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -430,6 +430,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelSyncFilterChain.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelSyncFilterChain.html
index 345daad..4058b2e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelSyncFilterChain.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataChannelSyncFilterChain.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataChannelSyncFilterChain (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataChannelSyncFilterChain (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataChannelSyncFilterChain (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataChannelSyncFilterChain (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -222,6 +222,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataObject.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataObject.html
index 975ff61..82ad57e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataObject.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataObject.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataObject (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataObject (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataObject (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataObject (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -511,6 +511,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataRow.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataRow.html
index 8c2be94..50f11a8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataRow.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DataRow.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataRow (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataRow (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataRow (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataRow (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -552,6 +552,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DeleteDenyException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DeleteDenyException.html
index f8af228..30a73c2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/DeleteDenyException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/DeleteDenyException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DeleteDenyException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DeleteDenyException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DeleteDenyException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DeleteDenyException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -439,6 +439,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ExtendedEnumeration.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ExtendedEnumeration.html
index 0fbad26..ced0bc3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ExtendedEnumeration.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ExtendedEnumeration.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ExtendedEnumeration (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ExtendedEnumeration (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExtendedEnumeration (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ExtendedEnumeration (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -228,6 +228,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/Fault.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/Fault.html
index 73a3965..3d94a6c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/Fault.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/Fault.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Fault (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Fault (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Fault (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Fault (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -294,6 +294,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/FaultFailureException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/FaultFailureException.html
index 1252736..48d0c11 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/FaultFailureException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/FaultFailureException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FaultFailureException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FaultFailureException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FaultFailureException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FaultFailureException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -320,6 +320,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/LifecycleListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/LifecycleListener.html
index 44e37c0..31b6752 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/LifecycleListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/LifecycleListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LifecycleListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>LifecycleListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LifecycleListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="LifecycleListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -317,6 +317,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ObjectContext.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ObjectContext.html
index 8f68c02..23cc600 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ObjectContext.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ObjectContext.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjectContext (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjectContext (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjectContext (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjectContext (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -940,6 +940,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ObjectId.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ObjectId.html
index 2b5fcc1..228420a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ObjectId.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ObjectId.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjectId (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjectId (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjectId (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjectId (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -641,6 +641,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/PersistenceState.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/PersistenceState.html
index 53097dd..7ce60b9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/PersistenceState.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/PersistenceState.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PersistenceState (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PersistenceState (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PersistenceState (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PersistenceState (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -440,6 +440,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/Persistent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/Persistent.html
index c5e6181..a55fcd4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/Persistent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/Persistent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Persistent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Persistent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Persistent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Persistent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -301,6 +301,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/PersistentObject.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/PersistentObject.html
index 5d489b8..565a758 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/PersistentObject.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/PersistentObject.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PersistentObject (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PersistentObject (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PersistentObject (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PersistentObject (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -484,6 +484,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ProcedureResult.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ProcedureResult.html
index ac77d62..c2c3861 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ProcedureResult.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ProcedureResult.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ProcedureResult (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ProcedureResult (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ProcedureResult (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ProcedureResult (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/QueryResponse.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/QueryResponse.html
index 6f1073a..c6511a1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/QueryResponse.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/QueryResponse.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -379,6 +379,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/QueryResult.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/QueryResult.html
index 1861af9..9f507f4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/QueryResult.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/QueryResult.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryResult (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryResult (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryResult (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryResult (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -307,6 +307,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/QueryResultItem.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/QueryResultItem.html
index cdb9467..2c48d94 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/QueryResultItem.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/QueryResultItem.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryResultItem (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryResultItem (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryResultItem (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryResultItem (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -292,6 +292,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ResultBatchIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ResultBatchIterator.html
index bf98c34..6b35249 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ResultBatchIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ResultBatchIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ResultBatchIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ResultBatchIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ResultBatchIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ResultBatchIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -382,6 +382,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ResultIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ResultIterator.html
index 372b044..551a1fb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ResultIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ResultIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -336,6 +336,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ResultIteratorCallback.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ResultIteratorCallback.html
index 65ac4a6..19df381 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ResultIteratorCallback.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ResultIteratorCallback.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ResultIteratorCallback (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ResultIteratorCallback (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ResultIteratorCallback (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ResultIteratorCallback (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -226,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/Validating.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/Validating.html
index be0a386..15c2673 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/Validating.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/Validating.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Validating (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Validating (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Validating (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Validating (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -272,6 +272,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ValueHolder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ValueHolder.html
index d98d7b6..7b9f7b8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ValueHolder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ValueHolder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ValueHolder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ValueHolder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ValueHolder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ValueHolder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -106,7 +106,7 @@
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../org/apache/cayenne/util/IndexPropertyList.html" title="class in org.apache.cayenne.util">IndexPropertyList</a>, <a href="../../../org/apache/cayenne/util/PersistentObjectHolder.html" title="class in org.apache.cayenne.util">PersistentObjectHolder</a>, <a href="../../../org/apache/cayenne/util/PersistentObjectList.html" title="class in org.apache.cayenne.util">PersistentObjectList</a>, <a href="../../../org/apache/cayenne/util/PersistentObjectMap.html" title="class in org.apache.cayenne.util">PersistentObjectMap</a>, <a href="../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a>, <a href="../../../org/apache/cayenne/access/ToManyList.html" title="class in org.apache.cayenne.access">ToManyList</a></dd>
+<dd><a href="../../../org/apache/cayenne/util/IndexPropertyList.html" title="class in org.apache.cayenne.util">IndexPropertyList</a>, <a href="../../../org/apache/cayenne/util/PersistentObjectHolder.html" title="class in org.apache.cayenne.util">PersistentObjectHolder</a>, <a href="../../../org/apache/cayenne/util/PersistentObjectList.html" title="class in org.apache.cayenne.util">PersistentObjectList</a>, <a href="../../../org/apache/cayenne/util/PersistentObjectMap.html" title="class in org.apache.cayenne.util">PersistentObjectMap</a>, <a href="../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a>, <a href="../../../org/apache/cayenne/access/ToManyList.html" title="class in org.apache.cayenne.access">ToManyList</a>, <a href="../../../org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></dd>
 </dl>
 <hr>
 <br>
@@ -356,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ClientServerChannel.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ClientServerChannel.html
index 181e6c5..e10ada2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ClientServerChannel.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ClientServerChannel.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClientServerChannel (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClientServerChannel (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClientServerChannel (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClientServerChannel (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -440,6 +440,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataContext.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataContext.html
index aa32ed6..a3a8456 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataContext.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataContext.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataContext (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataContext (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataContext (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataContext (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1362,6 +1362,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataContextDelegate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataContextDelegate.html
index df3974d..aef73fc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataContextDelegate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataContextDelegate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataContextDelegate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataContextDelegate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataContextDelegate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataContextDelegate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -350,6 +350,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataDomain.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataDomain.html
index 1c6d03d..a058e00 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataDomain.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataDomain.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataDomain (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataDomain (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataDomain (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataDomain (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1572,6 +1572,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataNode.html
index a8234f0..e95b887 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1043,6 +1043,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataPort.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataPort.html
index d6a3312..3fc6933 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataPort.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataPort.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataPort (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataPort (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataPort (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataPort (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -714,6 +714,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataPortDelegate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataPortDelegate.html
index 9a4920f..4aa1dbf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataPortDelegate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataPortDelegate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataPortDelegate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataPortDelegate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataPortDelegate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataPortDelegate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -356,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataRowStore.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataRowStore.html
index 6f8738d..3241d7f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataRowStore.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataRowStore.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataRowStore (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataRowStore (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataRowStore (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataRowStore (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -866,6 +866,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataRowStoreFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataRowStoreFactory.html
index 94440d7..cfe4a05 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataRowStoreFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DataRowStoreFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -237,6 +237,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DbGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DbGenerator.html
index a4da9b2..88a6ed3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DbGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DbGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DbGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DbGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DbGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DbGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -934,6 +934,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DefaultDataRowStoreFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DefaultDataRowStoreFactory.html
index 394498f..51d4dca 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DefaultDataRowStoreFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DefaultDataRowStoreFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultDataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultDataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultDataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultDataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -296,6 +296,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DefaultObjectMapRetainStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DefaultObjectMapRetainStrategy.html
index 6018419..53381dc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DefaultObjectMapRetainStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DefaultObjectMapRetainStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -318,6 +318,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DomainStoppedException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DomainStoppedException.html
index 34f5cb6..2909c33 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DomainStoppedException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/DomainStoppedException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DomainStoppedException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DomainStoppedException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DomainStoppedException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DomainStoppedException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -322,6 +322,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/IncrementalFaultList.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/IncrementalFaultList.html
index 91b1e7d..44dc53a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/IncrementalFaultList.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/IncrementalFaultList.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1089,6 +1089,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/NoSyncObjectStore.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/NoSyncObjectStore.html
index 1f3a101..5bcaf84 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/NoSyncObjectStore.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/NoSyncObjectStore.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NoSyncObjectStore (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>NoSyncObjectStore (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NoSyncObjectStore (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="NoSyncObjectStore (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -318,6 +318,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ObjectMapRetainStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ObjectMapRetainStrategy.html
index bb64607..6f69735 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ObjectMapRetainStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ObjectMapRetainStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -228,6 +228,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ObjectStore.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ObjectStore.html
index e71199f..ab5c145 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ObjectStore.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ObjectStore.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjectStore (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjectStore (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjectStore (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjectStore (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -885,6 +885,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/OperationHints.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/OperationHints.html
index 1fdf08d..5e1ccfd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/OperationHints.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/OperationHints.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OperationHints (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OperationHints (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OperationHints (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OperationHints (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -234,6 +234,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/OperationObserver.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/OperationObserver.html
index abea8dd..e5628b1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/OperationObserver.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/OperationObserver.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OperationObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OperationObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OperationObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OperationObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -369,6 +369,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/OptimisticLockException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/OptimisticLockException.html
index c68dc79..d1f2d3b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/OptimisticLockException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/OptimisticLockException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OptimisticLockException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OptimisticLockException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OptimisticLockException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OptimisticLockException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -468,6 +468,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/QueryEngine.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/QueryEngine.html
index 3cbe81e..e6e437a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/QueryEngine.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/QueryEngine.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryEngine (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryEngine (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryEngine (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryEngine (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -251,6 +251,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManyList.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManyList.html
index 738b958..2b4a740 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManyList.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManyList.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ToManyList (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ToManyList (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ToManyList (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ToManyList (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -486,6 +486,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManyListFault.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManyListFault.html
index abd8676..8d37ecf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManyListFault.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManyListFault.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ToManyListFault (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ToManyListFault (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ToManyListFault (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ToManyListFault (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -292,6 +292,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManyMapFault.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManyMapFault.html
index 92c7c6b..e934525 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManyMapFault.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManyMapFault.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ToManyMapFault (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ToManyMapFault (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ToManyMapFault (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ToManyMapFault (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -51,7 +51,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/cayenne/access/ToManyListFault.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/cayenne/access/ToManySetFault.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/cayenne/access/ToManyMapFault.html" target="_top">Frames</a></li>
@@ -289,7 +289,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/cayenne/access/ToManyListFault.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/cayenne/access/ToManySetFault.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/cayenne/access/ToManyMapFault.html" target="_top">Frames</a></li>
@@ -329,6 +329,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManySet.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManySet.html
new file mode 100644
index 0000000..e2a8b40
--- /dev/null
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManySet.html
@@ -0,0 +1,442 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ToManySet (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ToManySet (cayenne-doc: Cayenne Documentation 4.0.2 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ToManySet.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/cayenne/access/ToManyMapFault.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/cayenne/access/ToManySetFault.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/cayenne/access/ToManySet.html" target="_top">Frames</a></li>
+<li><a href="ToManySet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.cayenne.util.PersistentObjectSet">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.cayenne.access</div>
+<h2 title="Class ToManySet" class="title">Class ToManySet</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/cayenne/util/RelationshipFault.html" title="class in org.apache.cayenne.util">org.apache.cayenne.util.RelationshipFault</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">org.apache.cayenne.util.PersistentObjectSet</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.cayenne.access.ToManySet</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectCollection.html" title="interface in org.apache.cayenne.util">PersistentObjectCollection</a>, <a href="../../../../org/apache/cayenne/ValueHolder.html" title="interface in org.apache.cayenne">ValueHolder</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ToManySet</span>
+extends <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a>
+implements <a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../serialized-form.html#org.apache.cayenne.access.ToManySet">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.cayenne.util.PersistentObjectSet">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.cayenne.util.<a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a></h3>
+<code><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#addedToUnresolved">addedToUnresolved</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#objectSet">objectSet</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#removedFromUnresolved">removedFromUnresolved</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.cayenne.util.RelationshipFault">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.cayenne.util.<a href="../../../../org/apache/cayenne/util/RelationshipFault.html" title="class in org.apache.cayenne.util">RelationshipFault</a></h3>
+<code><a href="../../../../org/apache/cayenne/util/RelationshipFault.html#relationshipName">relationshipName</a>, <a href="../../../../org/apache/cayenne/util/RelationshipFault.html#relationshipOwner">relationshipOwner</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ToManySet.html#ToManySet-org.apache.cayenne.Persistent-java.lang.String-">ToManySet</a></span>(<a href="../../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&nbsp;relationshipOwner,
+         <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;relationshipName)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ToManySet.html#postprocessAdd-java.util.Collection-">postprocessAdd</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;?&gt;&nbsp;collection)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ToManySet.html#postprocessAdd-java.lang.Object-">postprocessAdd</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;addedObject)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ToManySet.html#postprocessRemove-java.util.Collection-">postprocessRemove</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;?&gt;&nbsp;collection)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ToManySet.html#postprocessRemove-java.lang.Object-">postprocessRemove</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;removedObject)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ToManySet.html#shouldAddToRemovedFromUnresolvedSet-java.lang.Object-">shouldAddToRemovedFromUnresolvedSet</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ToManySet.html#updateReverse-java.util.List-">updateReverse</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;resolved)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.cayenne.util.PersistentObjectSet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.cayenne.util.<a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a></h3>
+<code><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#add-java.lang.Object-">add</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#addAll-java.util.Collection-">addAll</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#addDirectly-java.lang.Object-">addDirectly</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#clear--">clear</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#contains-java.lang.Object-">contains</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#containsAll-java.util.Collection-">containsAll</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#equals-java.lang.Object-">equals</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#getValue--">getValue</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#getValueDirectly--">getValueDirectly</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#hashCode--">hashCode</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#invalidate--">invalidate</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#isEmpty--">isEmpty</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#isFault--">isFault</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#iterator--">iterator</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#mergeLocalChanges-java.util.List-">mergeLocalChanges</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#remove-java.lang.Object-">remove</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#removeAll-java.util.Collection-">removeAll</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#removeDirectly-java.lang.Object-">removeDirectly</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#resolvedObjectSet--">resolvedObjectSet</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#retainAll-java.util.Collection-">retainAll</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#setObjectSet-java.util.Set-">setObjectSet</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#setValue-java.lang.Object-">setValue</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#setValueDirectly-java.lang.Object-">setValueDirectly</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#size--">size</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#toArray--">toArray</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#toArray-java.lang.Object:A-">toArray</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#toString--">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.cayenne.util.RelationshipFault">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.cayenne.util.<a href="../../../../org/apache/cayenne/util/RelationshipFault.html" title="class in org.apache.cayenne.util">RelationshipFault</a></h3>
+<code><a href="../../../../org/apache/cayenne/util/RelationshipFault.html#getRelationshipName--">getRelationshipName</a>, <a href="../../../../org/apache/cayenne/util/RelationshipFault.html#getRelationshipOwner--">getRelationshipOwner</a>, <a href="../../../../org/apache/cayenne/util/RelationshipFault.html#isTransientParent--">isTransientParent</a>, <a href="../../../../org/apache/cayenne/util/RelationshipFault.html#isUncommittedParent--">isUncommittedParent</a>, <a href="../../../../org/apache/cayenne/util/RelationshipFault.html#resolveFromDB--">resolveFromDB</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.Set">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a></h3>
+<code><a href="https://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true#spliterator--" title="class or interface in java.util">spliterator</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.Collection">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a></h3>
+<code><a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true#parallelStream--" title="class or interface in java.util">parallelStream</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true#removeIf-java.util.function.Predicate-" title="class or interface in java.util">removeIf</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true#stream--" title="class or interface in java.util">stream</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Iterable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a></h3>
+<code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true#forEach-java.util.function.Consumer-" title="class or interface in java.lang">forEach</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ToManySet-org.apache.cayenne.Persistent-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ToManySet</h4>
+<pre>protected&nbsp;ToManySet(<a href="../../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&nbsp;relationshipOwner,
+                    <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;relationshipName)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="shouldAddToRemovedFromUnresolvedSet-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shouldAddToRemovedFromUnresolvedSet</h4>
+<pre>protected&nbsp;boolean&nbsp;shouldAddToRemovedFromUnresolvedSet(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#shouldAddToRemovedFromUnresolvedSet-java.lang.Object-">shouldAddToRemovedFromUnresolvedSet</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="postprocessAdd-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>postprocessAdd</h4>
+<pre>protected&nbsp;void&nbsp;postprocessAdd(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;?&gt;&nbsp;collection)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#postprocessAdd-java.util.Collection-">postprocessAdd</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="postprocessRemove-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>postprocessRemove</h4>
+<pre>protected&nbsp;void&nbsp;postprocessRemove(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;?&gt;&nbsp;collection)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#postprocessRemove-java.util.Collection-">postprocessRemove</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="postprocessAdd-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>postprocessAdd</h4>
+<pre>protected&nbsp;void&nbsp;postprocessAdd(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;addedObject)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#postprocessAdd-java.lang.Object-">postprocessAdd</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="postprocessRemove-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>postprocessRemove</h4>
+<pre>protected&nbsp;void&nbsp;postprocessRemove(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;removedObject)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#postprocessRemove-java.lang.Object-">postprocessRemove</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="updateReverse-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>updateReverse</h4>
+<pre>protected&nbsp;void&nbsp;updateReverse(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;resolved)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/util/RelationshipFault.html#updateReverse-java.util.List-">updateReverse</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cayenne/util/RelationshipFault.html" title="class in org.apache.cayenne.util">RelationshipFault</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ToManySet.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/cayenne/access/ToManyMapFault.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/cayenne/access/ToManySetFault.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/cayenne/access/ToManySet.html" target="_top">Frames</a></li>
+<li><a href="ToManySet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.cayenne.util.PersistentObjectSet">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManySetFault.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManySetFault.html
index b59a231..2c95df7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManySetFault.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToManySetFault.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ToManySetFault (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ToManySetFault (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ToManySetFault (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ToManySetFault (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -50,7 +50,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/cayenne/access/ToManyMapFault.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/cayenne/access/ToOneFault.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -252,7 +252,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/cayenne/access/ToManyMapFault.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/cayenne/access/ToOneFault.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -293,6 +293,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToOneFault.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToOneFault.html
index 886ba45..a7a1a7d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToOneFault.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/ToOneFault.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ToOneFault (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ToOneFault (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ToOneFault (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ToOneFault (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -292,6 +292,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/Transaction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/Transaction.html
index b9cbed6..5584f49 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/Transaction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/Transaction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Transaction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Transaction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Transaction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Transaction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -312,6 +312,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ClientServerChannel.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ClientServerChannel.html
index 558ed9d..14ebb23 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ClientServerChannel.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ClientServerChannel.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.ClientServerChannel (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.ClientServerChannel (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.ClientServerChannel (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.ClientServerChannel (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataContext.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataContext.html
index 3ba8a65..5648c62 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataContext.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataContext.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.DataContext (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.DataContext (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.DataContext (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.DataContext (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -275,6 +275,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataContextDelegate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataContextDelegate.html
index 18d4c02..ac9b524 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataContextDelegate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataContextDelegate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.DataContextDelegate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.DataContextDelegate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.DataContextDelegate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.DataContextDelegate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -180,6 +180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataDomain.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataDomain.html
index be718d9..21aa17c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataDomain.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataDomain.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.DataDomain (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.DataDomain (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.DataDomain (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.DataDomain (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -295,6 +295,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataNode.html
index 167e2dc..f11d334 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.DataNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.DataNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.DataNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.DataNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -984,6 +984,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataPort.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataPort.html
index a17608e..0744858 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataPort.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataPort.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.DataPort (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.DataPort (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.DataPort (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.DataPort (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -213,6 +213,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataPortDelegate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataPortDelegate.html
index 0ce79ed..b45de22 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataPortDelegate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataPortDelegate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.DataPortDelegate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.DataPortDelegate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.DataPortDelegate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.DataPortDelegate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -210,6 +210,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataRowStore.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataRowStore.html
index 902c2dd..88f4f8f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataRowStore.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataRowStore.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.DataRowStore (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.DataRowStore (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.DataRowStore (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.DataRowStore (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -275,6 +275,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataRowStoreFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataRowStoreFactory.html
index 19ad9d3..22cab92 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataRowStoreFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DataRowStoreFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.DataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.DataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.DataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.DataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -226,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DbGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DbGenerator.html
index 489a974..b503d9a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DbGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DbGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.DbGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.DbGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.DbGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.DbGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DefaultDataRowStoreFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DefaultDataRowStoreFactory.html
index d0920a0..25aeb90 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DefaultDataRowStoreFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DefaultDataRowStoreFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.DefaultDataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.DefaultDataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.DefaultDataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.DefaultDataRowStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DefaultObjectMapRetainStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DefaultObjectMapRetainStrategy.html
index cb51257..d54cf8e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DefaultObjectMapRetainStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DefaultObjectMapRetainStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.DefaultObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.DefaultObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.DefaultObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.DefaultObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DomainStoppedException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DomainStoppedException.html
index d5a744c..19e2587 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DomainStoppedException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/DomainStoppedException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.DomainStoppedException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.DomainStoppedException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.DomainStoppedException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.DomainStoppedException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/IncrementalFaultList.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/IncrementalFaultList.html
index 688e0f5..2dcc73b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/IncrementalFaultList.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/IncrementalFaultList.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.IncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.IncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.IncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.IncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/NoSyncObjectStore.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/NoSyncObjectStore.html
index cf1c547..f5288d3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/NoSyncObjectStore.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/NoSyncObjectStore.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.NoSyncObjectStore (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.NoSyncObjectStore (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.NoSyncObjectStore (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.NoSyncObjectStore (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ObjectMapRetainStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ObjectMapRetainStrategy.html
index 63d7c87..d35756b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ObjectMapRetainStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ObjectMapRetainStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.ObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.ObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.ObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.ObjectMapRetainStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ObjectStore.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ObjectStore.html
index 3f3cdb3..00ae228 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ObjectStore.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ObjectStore.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.ObjectStore (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.ObjectStore (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.ObjectStore (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.ObjectStore (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -259,6 +259,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/OperationHints.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/OperationHints.html
index da1dba1..d5127a4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/OperationHints.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/OperationHints.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.OperationHints (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.OperationHints (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.OperationHints (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.OperationHints (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -204,6 +204,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/OperationObserver.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/OperationObserver.html
index 50eceb5..c93af76 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/OperationObserver.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/OperationObserver.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.OperationObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.OperationObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.OperationObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.OperationObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -378,6 +378,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/OptimisticLockException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/OptimisticLockException.html
index f6ec16c..1761107 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/OptimisticLockException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/OptimisticLockException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.OptimisticLockException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.OptimisticLockException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.OptimisticLockException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.OptimisticLockException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/QueryEngine.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/QueryEngine.html
index 54a8822..bc6bd36 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/QueryEngine.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/QueryEngine.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.QueryEngine (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.QueryEngine (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.QueryEngine (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.QueryEngine (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -222,6 +222,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManyList.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManyList.html
index 4d27753..cf801f6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManyList.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManyList.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.ToManyList (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.ToManyList (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.ToManyList (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.ToManyList (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManyListFault.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManyListFault.html
index 4c70d10..1043a53 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManyListFault.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManyListFault.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.ToManyListFault (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.ToManyListFault (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.ToManyListFault (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.ToManyListFault (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManyMapFault.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManyMapFault.html
index 7426a07..19000a7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManyMapFault.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManyMapFault.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.ToManyMapFault (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.ToManyMapFault (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.ToManyMapFault (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.ToManyMapFault (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManySet.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManySet.html
new file mode 100644
index 0000000..4c0f40c
--- /dev/null
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManySet.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.cayenne.access.ToManySet (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.cayenne.access.ToManySet (cayenne-doc: Cayenne Documentation 4.0.2 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/cayenne/access/class-use/ToManySet.html" target="_top">Frames</a></li>
+<li><a href="ToManySet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.cayenne.access.ToManySet" class="title">Uses of Class<br>org.apache.cayenne.access.ToManySet</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.cayenne.access.ToManySet</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/cayenne/access/class-use/ToManySet.html" target="_top">Frames</a></li>
+<li><a href="ToManySet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManySetFault.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManySetFault.html
index 0cf8b8c..a33a7df 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManySetFault.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToManySetFault.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.ToManySetFault (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.ToManySetFault (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.ToManySetFault (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.ToManySetFault (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToOneFault.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToOneFault.html
index 40dcd91..b05acbd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToOneFault.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/ToOneFault.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.ToOneFault (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.ToOneFault (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.ToOneFault (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.ToOneFault (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/Transaction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/Transaction.html
index bcc2f1e..380d144 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/Transaction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/class-use/Transaction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.Transaction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.Transaction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.Transaction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.Transaction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/BaseSchemaUpdateStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/BaseSchemaUpdateStrategy.html
index ed2b621..93bc546 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/BaseSchemaUpdateStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/BaseSchemaUpdateStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BaseSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BaseSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BaseSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BaseSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -357,6 +357,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/CreateIfNoSchemaStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/CreateIfNoSchemaStrategy.html
index d08a72c..133811e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/CreateIfNoSchemaStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/CreateIfNoSchemaStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CreateIfNoSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CreateIfNoSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CreateIfNoSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CreateIfNoSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -331,6 +331,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/DefaultSchemaUpdateStrategyFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/DefaultSchemaUpdateStrategyFactory.html
index c5eb1e8..0d2a39d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/DefaultSchemaUpdateStrategyFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/DefaultSchemaUpdateStrategyFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultSchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultSchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultSchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultSchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -330,6 +330,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/SchemaUpdateStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/SchemaUpdateStrategy.html
index 2a44814..c155386 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/SchemaUpdateStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/SchemaUpdateStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -232,6 +232,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyFactory.html
index bd578b0..16bed65 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -227,6 +227,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/SkipSchemaUpdateStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/SkipSchemaUpdateStrategy.html
index 2027d49..2a1f709 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/SkipSchemaUpdateStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/SkipSchemaUpdateStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SkipSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SkipSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SkipSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SkipSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategy.html
index 8e464bc..ad8f74e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ThrowOnPartialOrCreateSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ThrowOnPartialOrCreateSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ThrowOnPartialOrCreateSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ThrowOnPartialOrCreateSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategy.html
index 989ee8f..76d9e4d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ThrowOnPartialSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ThrowOnPartialSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ThrowOnPartialSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ThrowOnPartialSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -338,6 +338,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/BaseSchemaUpdateStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/BaseSchemaUpdateStrategy.html
index 67de4b5..6d89571 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/BaseSchemaUpdateStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/BaseSchemaUpdateStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.dbsync.BaseSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.dbsync.BaseSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.dbsync.BaseSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.dbsync.BaseSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/CreateIfNoSchemaStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/CreateIfNoSchemaStrategy.html
index 880bfca..01d05b7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/CreateIfNoSchemaStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/CreateIfNoSchemaStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.dbsync.CreateIfNoSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.dbsync.CreateIfNoSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.dbsync.CreateIfNoSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.dbsync.CreateIfNoSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/DefaultSchemaUpdateStrategyFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/DefaultSchemaUpdateStrategyFactory.html
index 478dfef..6a818f7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/DefaultSchemaUpdateStrategyFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/DefaultSchemaUpdateStrategyFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.dbsync.DefaultSchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.dbsync.DefaultSchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.dbsync.DefaultSchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.dbsync.DefaultSchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/SchemaUpdateStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/SchemaUpdateStrategy.html
index 9ab0c8f..8f6b0ca 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/SchemaUpdateStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/SchemaUpdateStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.dbsync.SchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.dbsync.SchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.dbsync.SchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.dbsync.SchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -250,6 +250,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/SchemaUpdateStrategyFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/SchemaUpdateStrategyFactory.html
index 1dd0593..dbcc79e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/SchemaUpdateStrategyFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/SchemaUpdateStrategyFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.dbsync.SchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.dbsync.SchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.dbsync.SchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.dbsync.SchemaUpdateStrategyFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -183,6 +183,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/SkipSchemaUpdateStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/SkipSchemaUpdateStrategy.html
index a6f2a77..755761c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/SkipSchemaUpdateStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/SkipSchemaUpdateStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.dbsync.SkipSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.dbsync.SkipSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.dbsync.SkipSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.dbsync.SkipSchemaUpdateStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/ThrowOnPartialOrCreateSchemaStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/ThrowOnPartialOrCreateSchemaStrategy.html
index ca80add..ca023fc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/ThrowOnPartialOrCreateSchemaStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/ThrowOnPartialOrCreateSchemaStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.dbsync.ThrowOnPartialOrCreateSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.dbsync.ThrowOnPartialOrCreateSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.dbsync.ThrowOnPartialOrCreateSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.dbsync.ThrowOnPartialOrCreateSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/ThrowOnPartialSchemaStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/ThrowOnPartialSchemaStrategy.html
index 69a6a80..683e5b2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/ThrowOnPartialSchemaStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/class-use/ThrowOnPartialSchemaStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.dbsync.ThrowOnPartialSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.dbsync.ThrowOnPartialSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.dbsync.ThrowOnPartialSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.dbsync.ThrowOnPartialSchemaStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-frame.html
index 0392b96..ef49e4b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.dbsync (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.dbsync (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-summary.html
index 8572c24..cc13548 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.dbsync (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.dbsync (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.dbsync (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.dbsync (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -184,6 +184,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-tree.html
index 6fd9406..a975740 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.dbsync Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.dbsync Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.dbsync Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.dbsync Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-use.html
index a08e50c..830c188 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/dbsync/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.access.dbsync (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.access.dbsync (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.access.dbsync (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.access.dbsync (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -211,6 +211,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/SnapshotEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/SnapshotEvent.html
index 2fd1e65..d1bedb0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/SnapshotEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/SnapshotEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SnapshotEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SnapshotEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SnapshotEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SnapshotEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -484,6 +484,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/SnapshotEventListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/SnapshotEventListener.html
index 6c1601e..79f43e1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/SnapshotEventListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/SnapshotEventListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SnapshotEventListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SnapshotEventListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SnapshotEventListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SnapshotEventListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -227,6 +227,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/class-use/SnapshotEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/class-use/SnapshotEvent.html
index ab52f7d..b83d7e2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/class-use/SnapshotEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/class-use/SnapshotEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.event.SnapshotEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.event.SnapshotEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.event.SnapshotEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.event.SnapshotEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -194,6 +194,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/class-use/SnapshotEventListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/class-use/SnapshotEventListener.html
index b1884bc..a41f9f0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/class-use/SnapshotEventListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/class-use/SnapshotEventListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.event.SnapshotEventListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.event.SnapshotEventListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.event.SnapshotEventListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.event.SnapshotEventListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -172,6 +172,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-frame.html
index 50ba171..f2f0eed 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.event (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.event (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-summary.html
index 524b021..925fdf2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.event (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.event (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.event (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.event (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -156,6 +156,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-tree.html
index 30a10a8..5159f3c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.event Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.event Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.event Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.event Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-use.html
index 9112bf1..a643571 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/event/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.access.event (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.access.event (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.access.event (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.access.event (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/BaseSQLAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/BaseSQLAction.html
index b911a0f..0b3d72b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/BaseSQLAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/BaseSQLAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BaseSQLAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BaseSQLAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BaseSQLAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BaseSQLAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -370,6 +370,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/BatchAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/BatchAction.html
index be0112b..a46ec3d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/BatchAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/BatchAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BatchAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BatchAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BatchAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BatchAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -539,6 +539,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/ColumnDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/ColumnDescriptor.html
index 4867655..102047a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/ColumnDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/ColumnDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ColumnDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ColumnDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,13 +13,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ColumnDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ColumnDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -308,33 +308,37 @@
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setDataRowKey-java.lang.String-">setDataRowKey</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dataRowKey)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setAttribute-org.apache.cayenne.map.DbAttribute-">setAttribute</a></span>(<a href="../../../../../org/apache/cayenne/map/DbAttribute.html" title="class in org.apache.cayenne.map">DbAttribute</a>&nbsp;attribute)</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setIsExpression-boolean-">setIsExpression</a></span>(boolean&nbsp;isExpression)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setDataRowKey-java.lang.String-">setDataRowKey</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dataRowKey)</code>&nbsp;</td>
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setJavaClass-java.lang.String-">setJavaClass</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;string)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setIsExpression-boolean-">setIsExpression</a></span>(boolean&nbsp;isExpression)</code>&nbsp;</td>
 </tr>
 <tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setJdbcType-int-">setJdbcType</a></span>(int&nbsp;i)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setJavaClass-java.lang.String-">setJavaClass</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;string)</code>&nbsp;</td>
 </tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setName-java.lang.String-">setName</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setJdbcType-int-">setJdbcType</a></span>(int&nbsp;i)</code>&nbsp;</td>
 </tr>
 <tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setProcedureName-java.lang.String-">setProcedureName</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;procedureName)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setName-java.lang.String-">setName</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
 <tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setTableName-java.lang.String-">setTableName</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setProcedureName-java.lang.String-">setProcedureName</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;procedureName)</code>&nbsp;</td>
 </tr>
 <tr id="i19" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setTableName-java.lang.String-">setTableName</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -582,6 +586,15 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="setAttribute-org.apache.cayenne.map.DbAttribute-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setAttribute</h4>
+<pre>public&nbsp;void&nbsp;setAttribute(<a href="../../../../../org/apache/cayenne/map/DbAttribute.html" title="class in org.apache.cayenne.map">DbAttribute</a>&nbsp;attribute)</pre>
+</li>
+</ul>
 <a name="getAttribute--">
 <!--   -->
 </a>
@@ -907,6 +920,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/ConnectionAwareResultIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/ConnectionAwareResultIterator.html
index 0d906c3..4be123c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/ConnectionAwareResultIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/ConnectionAwareResultIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ConnectionAwareResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ConnectionAwareResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ConnectionAwareResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ConnectionAwareResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -459,6 +459,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/DistinctResultIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/DistinctResultIterator.html
index 5fc57e3..7f0eddb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/DistinctResultIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/DistinctResultIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DistinctResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DistinctResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DistinctResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DistinctResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -511,6 +511,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/EJBQLAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/EJBQLAction.html
index 3f03230..18b81a5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/EJBQLAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/EJBQLAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -362,6 +362,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/JDBCResultIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/JDBCResultIterator.html
index a58d117..22ea601 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/JDBCResultIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/JDBCResultIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>JDBCResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>JDBCResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JDBCResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="JDBCResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -564,6 +564,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/LimitResultIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/LimitResultIterator.html
index 236cd80..becf154 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/LimitResultIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/LimitResultIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LimitResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>LimitResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LimitResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="LimitResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -517,6 +517,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/ProcedureAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/ProcedureAction.html
index ba38f17..7470dfa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/ProcedureAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/ProcedureAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ProcedureAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ProcedureAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ProcedureAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ProcedureAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -481,6 +481,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/RowDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/RowDescriptor.html
index 3161688..c8e5f4c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/RowDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/RowDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>RowDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>RowDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="RowDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="RowDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -384,6 +384,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/RowDescriptorBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/RowDescriptorBuilder.html
index c31e5f1..eaa6be9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/RowDescriptorBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/RowDescriptorBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>RowDescriptorBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>RowDescriptorBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="RowDescriptorBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="RowDescriptorBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -503,6 +503,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SQLStatement.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SQLStatement.html
index 6662342..2fae42b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SQLStatement.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SQLStatement.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLStatement (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLStatement (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLStatement (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLStatement (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -443,6 +443,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SQLTemplateAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SQLTemplateAction.html
index 6514428..f503f45 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SQLTemplateAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SQLTemplateAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLTemplateAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLTemplateAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLTemplateAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLTemplateAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -559,6 +559,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SQLTemplateProcessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SQLTemplateProcessor.html
index 3ef7086..e221521 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SQLTemplateProcessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SQLTemplateProcessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -253,6 +253,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SelectAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SelectAction.html
index 7db2d4b..8747ba2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SelectAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/SelectAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SelectAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SelectAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SelectAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SelectAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -368,6 +368,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/BaseSQLAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/BaseSQLAction.html
index 4c06871..01bd15e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/BaseSQLAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/BaseSQLAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.jdbc.BaseSQLAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.jdbc.BaseSQLAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.BaseSQLAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.BaseSQLAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -257,6 +257,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/BatchAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/BatchAction.html
index 632b01b..c2d6f27 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/BatchAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/BatchAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.jdbc.BatchAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.jdbc.BatchAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.BatchAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.BatchAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/ColumnDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/ColumnDescriptor.html
index 286c3cd..09bcc19 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/ColumnDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/ColumnDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.jdbc.ColumnDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.jdbc.ColumnDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.ColumnDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.ColumnDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -443,6 +443,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/ConnectionAwareResultIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/ConnectionAwareResultIterator.html
index bd6882f..6856a97 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/ConnectionAwareResultIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/ConnectionAwareResultIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.jdbc.ConnectionAwareResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.jdbc.ConnectionAwareResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.ConnectionAwareResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.ConnectionAwareResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/DistinctResultIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/DistinctResultIterator.html
index e7aed7c..68fa22c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/DistinctResultIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/DistinctResultIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.jdbc.DistinctResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.jdbc.DistinctResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.DistinctResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.DistinctResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/EJBQLAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/EJBQLAction.html
index 9369678..2eb113c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/EJBQLAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/EJBQLAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.jdbc.EJBQLAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.jdbc.EJBQLAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.EJBQLAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.EJBQLAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/JDBCResultIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/JDBCResultIterator.html
index 158d272..027592c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/JDBCResultIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/JDBCResultIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.jdbc.JDBCResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.jdbc.JDBCResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.JDBCResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.JDBCResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/LimitResultIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/LimitResultIterator.html
index b3ed568..032f095 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/LimitResultIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/LimitResultIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.jdbc.LimitResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.jdbc.LimitResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.LimitResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.LimitResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/ProcedureAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/ProcedureAction.html
index de74925..7eac0af 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/ProcedureAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/ProcedureAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.jdbc.ProcedureAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.jdbc.ProcedureAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.ProcedureAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.ProcedureAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/RowDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/RowDescriptor.html
index e067bf0..e289852 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/RowDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/RowDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.jdbc.RowDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.jdbc.RowDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.RowDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.RowDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -203,13 +203,32 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createEntityRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.query.EntityResultSegment-org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory-">createEntityRowReader</a></span>(<a href="../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                     <a href="../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                     <a href="../../../../../../org/apache/cayenne/query/EntityResultSegment.html" title="interface in org.apache.cayenne.query">EntityResultSegment</a>&nbsp;resultMetadata,
+                     <a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a>&nbsp;postProcessorFactory)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createFullRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory-">createFullRowReader</a></span>(<a href="../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                   <a href="../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                   <a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a>&nbsp;postProcessorFactory)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createScalarRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.query.ScalarResultSegment-">createScalarRowReader</a></span>(<a href="../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                     <a href="../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                     <a href="../../../../../../org/apache/cayenne/query/ScalarResultSegment.html" title="interface in org.apache.cayenne.query">ScalarResultSegment</a>&nbsp;segment)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#rowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.dba.DbAdapter-java.util.Map-">rowReader</a></span>(<a href="../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
          <a href="../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
          <a href="../../../../../../org/apache/cayenne/dba/DbAdapter.html" title="interface in org.apache.cayenne.dba">DbAdapter</a>&nbsp;adapter,
          <a href="https://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/cayenne/map/ObjAttribute.html" title="class in org.apache.cayenne.map">ObjAttribute</a>,<a href="../../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html" title="class in org.apache.cayenne.access.jdbc">ColumnDescriptor</a>&gt;&nbsp;attributeOverrides)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReaderFactory.html#rowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.dba.DbAdapter-java.util.Map-">rowReader</a></span>(<a href="../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
          <a href="../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
@@ -270,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/RowDescriptorBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/RowDescriptorBuilder.html
index acdab84..92ef638 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/RowDescriptorBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/RowDescriptorBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.jdbc.RowDescriptorBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.jdbc.RowDescriptorBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.RowDescriptorBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.RowDescriptorBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -193,6 +193,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SQLStatement.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SQLStatement.html
index c99f703..f8ba85e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SQLStatement.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SQLStatement.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.jdbc.SQLStatement (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.jdbc.SQLStatement (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.SQLStatement (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.SQLStatement (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -236,6 +236,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SQLTemplateAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SQLTemplateAction.html
index 08cdb1c..9d9cafa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SQLTemplateAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SQLTemplateAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.jdbc.SQLTemplateAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.jdbc.SQLTemplateAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.SQLTemplateAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.SQLTemplateAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SQLTemplateProcessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SQLTemplateProcessor.html
index 2375694..7cec236 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SQLTemplateProcessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SQLTemplateProcessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.jdbc.SQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.jdbc.SQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.jdbc.SQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.jdbc.SQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -222,6 +222,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SelectAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SelectAction.html
index 4fdd17a..06659c9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SelectAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/class-use/SelectAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.jdbc.SelectAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.jdbc.SelectAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.SelectAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.SelectAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-frame.html
index a244663..74635eb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.jdbc (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.jdbc (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-summary.html
index 341c870..955d0c0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.jdbc (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.jdbc (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.jdbc (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.jdbc (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -241,6 +241,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-tree.html
index efa8bc8..012c86a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.jdbc Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.jdbc Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.jdbc Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.jdbc Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -154,6 +154,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-use.html
index 6ba246a..7f73806 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.access.jdbc (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.access.jdbc (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.access.jdbc (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.access.jdbc (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -412,6 +412,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html
new file mode 100644
index 0000000..0816a4e
--- /dev/null
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html
@@ -0,0 +1,203 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DefaultRowReaderFactory.PostprocessorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DefaultRowReaderFactory.PostprocessorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DefaultRowReaderFactory.PostprocessorFactory.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" title="class in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" target="_top">Frames</a></li>
+<li><a href="DefaultRowReaderFactory.PostprocessorFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.cayenne.access.jdbc.reader</div>
+<h2 title="Class DefaultRowReaderFactory.PostprocessorFactory" class="title">Class DefaultRowReaderFactory.PostprocessorFactory</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory</a></dd>
+</dl>
+<hr>
+<br>
+<pre>protected static class <span class="typeNameLabel">DefaultRowReaderFactory.PostprocessorFactory</span>
+extends <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DefaultRowReaderFactory.PostprocessorFactory.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" title="class in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" target="_top">Frames</a></li>
+<li><a href="DefaultRowReaderFactory.PostprocessorFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html
index a136ba3..517699e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultRowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultRowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,13 +13,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultRowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultRowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -51,7 +51,7 @@
 <div class="subNav">
 <ul class="navList">
 <li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" target="_top">Frames</a></li>
@@ -75,7 +75,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -127,6 +127,25 @@
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.summary">
@@ -157,6 +176,25 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createEntityRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.query.EntityResultSegment-org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory-">createEntityRowReader</a></span>(<a href="../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                     <a href="../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                     <a href="../../../../../../org/apache/cayenne/query/EntityResultSegment.html" title="interface in org.apache.cayenne.query">EntityResultSegment</a>&nbsp;resultMetadata,
+                     <a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a>&nbsp;postProcessorFactory)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createFullRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory-">createFullRowReader</a></span>(<a href="../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                   <a href="../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                   <a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a>&nbsp;postProcessorFactory)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createScalarRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.query.ScalarResultSegment-">createScalarRowReader</a></span>(<a href="../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                     <a href="../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                     <a href="../../../../../../org/apache/cayenne/query/ScalarResultSegment.html" title="interface in org.apache.cayenne.query">ScalarResultSegment</a>&nbsp;segment)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#rowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.dba.DbAdapter-java.util.Map-">rowReader</a></span>(<a href="../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
          <a href="../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
@@ -205,7 +243,7 @@
 <a name="rowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.dba.DbAdapter-java.util.Map-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>rowReader</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;&nbsp;rowReader(<a href="../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
@@ -218,6 +256,40 @@
 </dl>
 </li>
 </ul>
+<a name="createScalarRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.query.ScalarResultSegment-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createScalarRowReader</h4>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;&nbsp;createScalarRowReader(<a href="../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                                             <a href="../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                                             <a href="../../../../../../org/apache/cayenne/query/ScalarResultSegment.html" title="interface in org.apache.cayenne.query">ScalarResultSegment</a>&nbsp;segment)</pre>
+</li>
+</ul>
+<a name="createEntityRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.query.EntityResultSegment-org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createEntityRowReader</h4>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;&nbsp;createEntityRowReader(<a href="../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                                             <a href="../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                                             <a href="../../../../../../org/apache/cayenne/query/EntityResultSegment.html" title="interface in org.apache.cayenne.query">EntityResultSegment</a>&nbsp;resultMetadata,
+                                             <a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a>&nbsp;postProcessorFactory)</pre>
+</li>
+</ul>
+<a name="createFullRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>createFullRowReader</h4>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;&nbsp;createFullRowReader(<a href="../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                                           <a href="../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                                           <a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a>&nbsp;postProcessorFactory)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -247,7 +319,7 @@
 <div class="subNav">
 <ul class="navList">
 <li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" target="_top">Frames</a></li>
@@ -271,7 +343,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -287,6 +359,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/RowReader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/RowReader.html
index 9357d06..74c9d99 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/RowReader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/RowReader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>RowReader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>RowReader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="RowReader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="RowReader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -50,7 +50,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" title="class in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReaderFactory.html" title="interface in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -186,7 +186,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" title="class in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReaderFactory.html" title="interface in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -227,6 +227,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/RowReaderFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/RowReaderFactory.html
index fe9bdd2..10bdbad 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/RowReaderFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/RowReaderFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>RowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>RowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="RowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="RowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -233,6 +233,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/class-use/DefaultRowReaderFactory.PostprocessorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/class-use/DefaultRowReaderFactory.PostprocessorFactory.html
new file mode 100644
index 0000000..e6c1500
--- /dev/null
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/class-use/DefaultRowReaderFactory.PostprocessorFactory.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/cayenne/access/jdbc/reader/class-use/DefaultRowReaderFactory.PostprocessorFactory.html" target="_top">Frames</a></li>
+<li><a href="DefaultRowReaderFactory.PostprocessorFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory" class="title">Uses of Class<br>org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.cayenne.access.jdbc.reader">org.apache.cayenne.access.jdbc.reader</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.cayenne.access.jdbc.reader">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a> in <a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/package-summary.html">org.apache.cayenne.access.jdbc.reader</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/package-summary.html">org.apache.cayenne.access.jdbc.reader</a> with parameters of type <a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createEntityRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.query.EntityResultSegment-org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory-">createEntityRowReader</a></span>(<a href="../../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                     <a href="../../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                     <a href="../../../../../../../org/apache/cayenne/query/EntityResultSegment.html" title="interface in org.apache.cayenne.query">EntityResultSegment</a>&nbsp;resultMetadata,
+                     <a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a>&nbsp;postProcessorFactory)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createFullRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory-">createFullRowReader</a></span>(<a href="../../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                   <a href="../../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                   <a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a>&nbsp;postProcessorFactory)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/cayenne/access/jdbc/reader/class-use/DefaultRowReaderFactory.PostprocessorFactory.html" target="_top">Frames</a></li>
+<li><a href="DefaultRowReaderFactory.PostprocessorFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/class-use/DefaultRowReaderFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/class-use/DefaultRowReaderFactory.html
index 8ce4707..c1ff93c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/class-use/DefaultRowReaderFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/class-use/DefaultRowReaderFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/class-use/RowReader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/class-use/RowReader.html
index 388189d..be47715 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/class-use/RowReader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/class-use/RowReader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.jdbc.reader.RowReader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.jdbc.reader.RowReader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.jdbc.reader.RowReader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.jdbc.reader.RowReader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -165,13 +165,32 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createEntityRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.query.EntityResultSegment-org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory-">createEntityRowReader</a></span>(<a href="../../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                     <a href="../../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                     <a href="../../../../../../../org/apache/cayenne/query/EntityResultSegment.html" title="interface in org.apache.cayenne.query">EntityResultSegment</a>&nbsp;resultMetadata,
+                     <a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a>&nbsp;postProcessorFactory)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createFullRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory-">createFullRowReader</a></span>(<a href="../../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                   <a href="../../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                   <a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a>&nbsp;postProcessorFactory)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createScalarRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.query.ScalarResultSegment-">createScalarRowReader</a></span>(<a href="../../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                     <a href="../../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                     <a href="../../../../../../../org/apache/cayenne/query/ScalarResultSegment.html" title="interface in org.apache.cayenne.query">ScalarResultSegment</a>&nbsp;segment)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#rowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.dba.DbAdapter-java.util.Map-">rowReader</a></span>(<a href="../../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
          <a href="../../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
          <a href="../../../../../../../org/apache/cayenne/dba/DbAdapter.html" title="interface in org.apache.cayenne.dba">DbAdapter</a>&nbsp;adapter,
          <a href="https://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/cayenne/map/ObjAttribute.html" title="class in org.apache.cayenne.map">ObjAttribute</a>,<a href="../../../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html" title="class in org.apache.cayenne.access.jdbc">ColumnDescriptor</a>&gt;&nbsp;attributeOverrides)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/cayenne/access/jdbc/reader/RowReaderFactory.html#rowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.dba.DbAdapter-java.util.Map-">rowReader</a></span>(<a href="../../../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
          <a href="../../../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
@@ -232,6 +251,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/class-use/RowReaderFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/class-use/RowReaderFactory.html
index c283781..71f63be 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/class-use/RowReaderFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/class-use/RowReaderFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.jdbc.reader.RowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.jdbc.reader.RowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.jdbc.reader.RowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.jdbc.reader.RowReaderFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -220,6 +220,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-frame.html
index 9300ce5..09daf7d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.jdbc.reader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.jdbc.reader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -20,6 +20,7 @@
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
 <li><a href="DefaultRowReaderFactory.html" title="class in org.apache.cayenne.access.jdbc.reader" target="classFrame">DefaultRowReaderFactory</a></li>
+<li><a href="DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader" target="classFrame">DefaultRowReaderFactory.PostprocessorFactory</a></li>
 </ul>
 </div>
 </body>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-summary.html
index ff457eb..ba76aad 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.jdbc.reader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.jdbc.reader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.jdbc.reader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.jdbc.reader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -111,6 +111,10 @@
 <td class="colFirst"><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -163,6 +167,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-tree.html
index c83b458..f4cbb56 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.jdbc.reader Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.jdbc.reader Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.jdbc.reader Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.jdbc.reader Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -83,6 +83,7 @@
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.cayenne.access.jdbc.reader.<a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" title="class in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">DefaultRowReaderFactory</span></a> (implements org.apache.cayenne.access.jdbc.reader.<a href="../../../../../../org/apache/cayenne/access/jdbc/reader/RowReaderFactory.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReaderFactory</a>)</li>
+<li type="circle">org.apache.cayenne.access.jdbc.reader.<a href="../../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">DefaultRowReaderFactory.PostprocessorFactory</span></a></li>
 </ul>
 </li>
 </ul>
@@ -139,6 +140,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-use.html
index 8dfdbe2..aaa566d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/jdbc/reader/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.access.jdbc.reader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.access.jdbc.reader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.access.jdbc.reader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.access.jdbc.reader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -157,12 +157,15 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/class-use/DefaultRowReaderFactory.PostprocessorFactory.html#org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/class-use/RowReader.html#org.apache.cayenne.access.jdbc.reader">RowReader</a>
 <div class="block">A strategy class that encapsulates an algorithm for converting a single
  ResultSet row into a DataRow.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/cayenne/access/jdbc/reader/class-use/RowReaderFactory.html#org.apache.cayenne.access.jdbc.reader">RowReaderFactory</a>
 <div class="block">Creates RowReader instances for executed queries.</div>
 </td>
@@ -236,6 +239,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-frame.html
index 30254c9..0d4f8cc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -39,6 +39,7 @@
 <li><a href="ToManyList.html" title="class in org.apache.cayenne.access" target="classFrame">ToManyList</a></li>
 <li><a href="ToManyListFault.html" title="class in org.apache.cayenne.access" target="classFrame">ToManyListFault</a></li>
 <li><a href="ToManyMapFault.html" title="class in org.apache.cayenne.access" target="classFrame">ToManyMapFault</a></li>
+<li><a href="ToManySet.html" title="class in org.apache.cayenne.access" target="classFrame">ToManySet</a></li>
 <li><a href="ToManySetFault.html" title="class in org.apache.cayenne.access" target="classFrame">ToManySetFault</a></li>
 <li><a href="ToOneFault.html" title="class in org.apache.cayenne.access" target="classFrame">ToOneFault</a></li>
 <li><a href="Transaction.html" title="class in org.apache.cayenne.access" target="classFrame">Transaction</a></li>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-summary.html
index 9fc3587..4926030 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -232,14 +232,18 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../org/apache/cayenne/access/ToManySetFault.html" title="class in org.apache.cayenne.access">ToManySetFault</a></td>
+<td class="colFirst"><a href="../../../../org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/cayenne/access/ToOneFault.html" title="class in org.apache.cayenne.access">ToOneFault</a></td>
+<td class="colFirst"><a href="../../../../org/apache/cayenne/access/ToManySetFault.html" title="class in org.apache.cayenne.access">ToManySetFault</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/cayenne/access/ToOneFault.html" title="class in org.apache.cayenne.access">ToOneFault</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/cayenne/access/Transaction.html" title="class in org.apache.cayenne.access">Transaction</a></td>
 <td class="colLast">Deprecated
 <div class="block"><span class="deprecationComment">since 4.0.</span></div>
@@ -327,6 +331,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-tree.html
index 22485ef..0e88064 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -116,6 +116,11 @@
 <li type="circle">org.apache.cayenne.access.<a href="../../../../org/apache/cayenne/access/ToManyList.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">ToManyList</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 </ul>
 </li>
+<li type="circle">org.apache.cayenne.util.<a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util"><span class="typeNameLink">PersistentObjectSet</span></a> (implements org.apache.cayenne.util.<a href="../../../../org/apache/cayenne/util/PersistentObjectCollection.html" title="interface in org.apache.cayenne.util">PersistentObjectCollection</a>, java.util.<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;E&gt;, org.apache.cayenne.<a href="../../../../org/apache/cayenne/ValueHolder.html" title="interface in org.apache.cayenne">ValueHolder</a>)
+<ul>
+<li type="circle">org.apache.cayenne.access.<a href="../../../../org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">ToManySet</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
+</ul>
+</li>
 </ul>
 </li>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
@@ -201,6 +206,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-use.html
index aca868c..886438d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.access (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.access (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.access (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.access (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -710,6 +710,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/DbAttributeBinding.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/DbAttributeBinding.html
index 4b01a1e..f66e78e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/DbAttributeBinding.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/DbAttributeBinding.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DbAttributeBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DbAttributeBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DbAttributeBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DbAttributeBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -319,6 +319,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ParameterBinding.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ParameterBinding.html
index 10a3212..03ea453 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ParameterBinding.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ParameterBinding.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ParameterBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ParameterBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ParameterBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ParameterBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -461,6 +461,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ProcedureParameterBinding.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ProcedureParameterBinding.html
index c3ef26f..dcf6ef6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ProcedureParameterBinding.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ProcedureParameterBinding.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ProcedureParameterBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ProcedureParameterBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ProcedureParameterBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ProcedureParameterBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -319,6 +319,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/BatchTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/BatchTranslator.html
index 9be410d..cbf385e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/BatchTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/BatchTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -268,6 +268,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/BatchTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/BatchTranslatorFactory.html
index c01b250..10e20a1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/BatchTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/BatchTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -235,6 +235,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/DefaultBatchTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/DefaultBatchTranslator.html
index 7437d3f..0d2d583 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/DefaultBatchTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/DefaultBatchTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -516,6 +516,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorFactory.html
index 9b8d17b..89f9e81 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultBatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultBatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultBatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultBatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -343,6 +343,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/DeleteBatchTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/DeleteBatchTranslator.html
index dc069f7..be24b46 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/DeleteBatchTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/DeleteBatchTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -363,6 +363,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/InsertBatchTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/InsertBatchTranslator.html
index 78f7ff4..6bb800d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/InsertBatchTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/InsertBatchTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>InsertBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>InsertBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="InsertBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="InsertBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -360,6 +360,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslator.html
index cfabac4..17def7b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SoftDeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SoftDeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SoftDeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SoftDeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -357,6 +357,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/SoftDeleteTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/SoftDeleteTranslatorFactory.html
index 2e507c6..bdd54f9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/SoftDeleteTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/SoftDeleteTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SoftDeleteTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SoftDeleteTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SoftDeleteTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SoftDeleteTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -370,6 +370,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/UpdateBatchTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/UpdateBatchTranslator.html
index 8d088f5..015e226 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/UpdateBatchTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/UpdateBatchTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>UpdateBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>UpdateBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="UpdateBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="UpdateBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -342,6 +342,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/BatchTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/BatchTranslator.html
index 9b3285f..3e347c6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/BatchTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/BatchTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.translator.batch.BatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.translator.batch.BatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.translator.batch.BatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.translator.batch.BatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -307,6 +307,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/BatchTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/BatchTranslatorFactory.html
index ac58937..bfe1d44 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/BatchTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/BatchTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.translator.batch.BatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.translator.batch.BatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.translator.batch.BatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.translator.batch.BatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -293,6 +293,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/DefaultBatchTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/DefaultBatchTranslator.html
index e9a20c5..aaaf40e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/DefaultBatchTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/DefaultBatchTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.batch.DefaultBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.batch.DefaultBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.batch.DefaultBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.batch.DefaultBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/DefaultBatchTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/DefaultBatchTranslatorFactory.html
index bf68f04..13e6a75 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/DefaultBatchTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/DefaultBatchTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.batch.DefaultBatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.batch.DefaultBatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.batch.DefaultBatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.batch.DefaultBatchTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/DeleteBatchTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/DeleteBatchTranslator.html
index 496c5f2..8c42a79 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/DeleteBatchTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/DeleteBatchTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.batch.DeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.batch.DeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.batch.DeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.batch.DeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/InsertBatchTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/InsertBatchTranslator.html
index 6a6b9ea..cc2e8dc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/InsertBatchTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/InsertBatchTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.batch.InsertBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.batch.InsertBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.batch.InsertBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.batch.InsertBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/SoftDeleteBatchTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/SoftDeleteBatchTranslator.html
index d8cd12c..95b8d96 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/SoftDeleteBatchTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/SoftDeleteBatchTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.batch.SoftDeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.batch.SoftDeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.batch.SoftDeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.batch.SoftDeleteBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/SoftDeleteTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/SoftDeleteTranslatorFactory.html
index b72e4f9..f7d03f5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/SoftDeleteTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/SoftDeleteTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.batch.SoftDeleteTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.batch.SoftDeleteTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.batch.SoftDeleteTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.batch.SoftDeleteTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/UpdateBatchTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/UpdateBatchTranslator.html
index b3e9896..a3cb363 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/UpdateBatchTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/class-use/UpdateBatchTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.batch.UpdateBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.batch.UpdateBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.batch.UpdateBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.batch.UpdateBatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-frame.html
index d16db32..452c16f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.translator.batch (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.translator.batch (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-summary.html
index e2e5953..dbe5bed 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.translator.batch (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.translator.batch (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.translator.batch (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.translator.batch (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -203,6 +203,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-tree.html
index 80083cc..385b407 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.translator.batch Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.translator.batch Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.translator.batch Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.translator.batch Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -154,6 +154,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-use.html
index 2b57cad..97eba4a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/batch/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.access.translator.batch (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.access.translator.batch (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.access.translator.batch (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.access.translator.batch (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -275,6 +275,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/class-use/DbAttributeBinding.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/class-use/DbAttributeBinding.html
index 894e453..d7cb515 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/class-use/DbAttributeBinding.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/class-use/DbAttributeBinding.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.DbAttributeBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.DbAttributeBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.DbAttributeBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.DbAttributeBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -306,6 +306,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/class-use/ParameterBinding.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/class-use/ParameterBinding.html
index 6ecd253..de38fbf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/class-use/ParameterBinding.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/class-use/ParameterBinding.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.ParameterBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.ParameterBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ParameterBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ParameterBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -556,6 +556,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/class-use/ProcedureParameterBinding.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/class-use/ProcedureParameterBinding.html
index a7c3349..acd5e0e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/class-use/ProcedureParameterBinding.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/class-use/ProcedureParameterBinding.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.ProcedureParameterBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.ProcedureParameterBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ProcedureParameterBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ProcedureParameterBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLConditionTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLConditionTranslator.html
index 3cebd6b..6bab990 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLConditionTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLConditionTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1638,6 +1638,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLDbPathTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLDbPathTranslator.html
index 1567897..2beb076 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLDbPathTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLDbPathTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLDbPathTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLDbPathTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLDbPathTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLDbPathTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -490,6 +490,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLDeleteTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLDeleteTranslator.html
index 2b1669d..a892be6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLDeleteTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLDeleteTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLDeleteTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLDeleteTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLDeleteTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLDeleteTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -378,6 +378,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLFromTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLFromTranslator.html
index d5ce3e0..0304b2f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLFromTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLFromTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLFromTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLFromTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLFromTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLFromTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -436,6 +436,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLJoinAppender.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLJoinAppender.html
index 40b030c..151f4d6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLJoinAppender.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLJoinAppender.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLJoinAppender (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLJoinAppender (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLJoinAppender (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLJoinAppender (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -387,6 +387,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLMultiColumnOperand.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLMultiColumnOperand.html
index ff00607..f191b74 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLMultiColumnOperand.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLMultiColumnOperand.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLMultiColumnOperand (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLMultiColumnOperand (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLMultiColumnOperand (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLMultiColumnOperand (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -239,6 +239,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLPathTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLPathTranslator.html
index 9f9afe9..bc8f239 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLPathTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLPathTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLPathTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLPathTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLPathTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLPathTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -614,6 +614,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLSelectColumnsTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLSelectColumnsTranslator.html
index 68e9f42..9341115 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLSelectColumnsTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLSelectColumnsTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLSelectColumnsTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLSelectColumnsTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLSelectColumnsTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLSelectColumnsTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -450,6 +450,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslator.html
index 5a5b441..6776603 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -494,6 +494,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLTranslationContext.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLTranslationContext.html
index f1c7b3d..b69e9f3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLTranslationContext.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLTranslationContext.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLTranslationContext (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLTranslationContext (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLTranslationContext (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLTranslationContext (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -537,6 +537,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLTranslatorFactory.html
index da60421..0397337 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/EJBQLTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -371,6 +371,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/JdbcEJBQLTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/JdbcEJBQLTranslatorFactory.html
index 61c1830..68c5dd1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/JdbcEJBQLTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/JdbcEJBQLTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>JdbcEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>JdbcEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JdbcEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="JdbcEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -539,6 +539,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLConditionTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLConditionTranslator.html
index 4dd2790..39be611 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLConditionTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLConditionTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -233,6 +233,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLDbPathTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLDbPathTranslator.html
index 44f01e2..0199bc8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLDbPathTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLDbPathTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLDbPathTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLDbPathTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLDbPathTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLDbPathTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLDeleteTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLDeleteTranslator.html
index 0330d73..e237937 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLDeleteTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLDeleteTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLDeleteTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLDeleteTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLDeleteTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLDeleteTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLFromTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLFromTranslator.html
index ffa71d1..33b9ddc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLFromTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLFromTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLFromTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLFromTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLFromTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLFromTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLJoinAppender.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLJoinAppender.html
index 61abf1a..9805abc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLJoinAppender.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLJoinAppender.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLJoinAppender (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLJoinAppender (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLJoinAppender (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLJoinAppender (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLMultiColumnOperand.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLMultiColumnOperand.html
index 7b7bfaf..ef2a8ec 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLMultiColumnOperand.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLMultiColumnOperand.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLMultiColumnOperand (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLMultiColumnOperand (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLMultiColumnOperand (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLMultiColumnOperand (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLPathTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLPathTranslator.html
index bd1889e..26aa0a7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLPathTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLPathTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLPathTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLPathTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLPathTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLPathTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLSelectColumnsTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLSelectColumnsTranslator.html
index 37582a5..3dbd506 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLSelectColumnsTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLSelectColumnsTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLSelectColumnsTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLSelectColumnsTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLSelectColumnsTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLSelectColumnsTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLSelectTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLSelectTranslator.html
index 35f7eb9..c896fbb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLSelectTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLSelectTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLTranslationContext.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLTranslationContext.html
index 082b988..5ff2ee3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLTranslationContext.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLTranslationContext.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLTranslationContext (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLTranslationContext (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLTranslationContext (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.EJBQLTranslationContext (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -455,6 +455,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLTranslatorFactory.html
index 6d107ec..5585658 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/EJBQLTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.translator.ejbql.EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.translator.ejbql.EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.translator.ejbql.EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.translator.ejbql.EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -467,6 +467,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/JdbcEJBQLTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/JdbcEJBQLTranslatorFactory.html
index 289fcef..5e8d2a8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/JdbcEJBQLTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/class-use/JdbcEJBQLTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.ejbql.JdbcEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.ejbql.JdbcEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.JdbcEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.ejbql.JdbcEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -233,6 +233,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-frame.html
index 30888f8..8cc3870 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.translator.ejbql (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.translator.ejbql (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-summary.html
index 64389cb..357047c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.translator.ejbql (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.translator.ejbql (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.translator.ejbql (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.translator.ejbql (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -213,6 +213,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-tree.html
index 0566aa5..538c74e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.translator.ejbql Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.translator.ejbql Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.translator.ejbql Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.translator.ejbql Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -152,6 +152,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-use.html
index a103fbe..131ac2c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/ejbql/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.access.translator.ejbql (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.access.translator.ejbql (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.access.translator.ejbql (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.access.translator.ejbql (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -405,6 +405,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-frame.html
index bfba439..d2339d0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.translator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.translator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-summary.html
index 41e6e2b..24211b9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.translator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.translator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.translator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.translator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -153,6 +153,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-tree.html
index e6c184a..ebd0ae9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.translator Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.translator Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.translator Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.translator Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -139,6 +139,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-use.html
index fc1a0f1..9dea984 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.access.translator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.access.translator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.access.translator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.access.translator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -445,6 +445,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.html
index 29ea89a..b7cd055 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -613,6 +613,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/class-use/ProcedureTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/class-use/ProcedureTranslator.html
index 9fe6487..99dce29 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/class-use/ProcedureTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/class-use/ProcedureTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.procedure.ProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.procedure.ProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.procedure.ProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.procedure.ProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -191,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-frame.html
index 3a9ade0..e2b3f09 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.translator.procedure (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.translator.procedure (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-summary.html
index 26471b0..b1d72a6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.translator.procedure (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.translator.procedure (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.translator.procedure (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.translator.procedure (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -141,6 +141,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-tree.html
index dcff7b9..9511af5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.translator.procedure Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.translator.procedure Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.translator.procedure Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.translator.procedure Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-use.html
index fa362f2..346387e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/procedure/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.access.translator.procedure (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.access.translator.procedure (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.access.translator.procedure (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.access.translator.procedure (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -181,6 +181,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/DataObjectMatchTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/DataObjectMatchTranslator.html
index f45dcde..e08f697 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/DataObjectMatchTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/DataObjectMatchTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:10 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataObjectMatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataObjectMatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataObjectMatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataObjectMatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -544,6 +544,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.html
index 3473cc3..8129f34 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:10 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -734,6 +734,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/DefaultSelectTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/DefaultSelectTranslatorFactory.html
index 90fc48e..ca0a933 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/DefaultSelectTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/DefaultSelectTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:10 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultSelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultSelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultSelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultSelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -291,6 +291,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/JoinStack.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/JoinStack.html
index 71de28d..6e32665 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/JoinStack.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/JoinStack.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:10 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>JoinStack (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>JoinStack (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JoinStack (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="JoinStack (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -393,6 +393,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/JoinTreeNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/JoinTreeNode.html
index 973c645..86aa817 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/JoinTreeNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/JoinTreeNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:10 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>JoinTreeNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>JoinTreeNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JoinTreeNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="JoinTreeNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -307,6 +307,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/OrderingTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/OrderingTranslator.html
index edef459..88359eb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/OrderingTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/OrderingTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:10 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OrderingTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OrderingTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OrderingTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OrderingTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -368,6 +368,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QualifierTranslator.html
index 2b644ef..5b9345b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:10 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -946,6 +946,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QueryAssembler.AddBindingListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QueryAssembler.AddBindingListener.html
index bf9f427..969f1ad 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QueryAssembler.AddBindingListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QueryAssembler.AddBindingListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:10 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryAssembler.AddBindingListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryAssembler.AddBindingListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryAssembler.AddBindingListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryAssembler.AddBindingListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -226,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QueryAssembler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QueryAssembler.html
index bd24410..1d3e9ee 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QueryAssembler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QueryAssembler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:10 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryAssembler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryAssembler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryAssembler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryAssembler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -704,6 +704,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QueryAssemblerHelper.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QueryAssemblerHelper.html
index e163acc..9bceec6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QueryAssemblerHelper.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/QueryAssemblerHelper.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:10 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryAssemblerHelper (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryAssemblerHelper (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryAssemblerHelper (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryAssemblerHelper (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -638,6 +638,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/SelectTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/SelectTranslator.html
index 1834477..ffee3f2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/SelectTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/SelectTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:10 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -303,6 +303,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/SelectTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/SelectTranslatorFactory.html
index 4d0adf4..1ac8423 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/SelectTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/SelectTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:10 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -234,6 +234,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/TrimmingQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/TrimmingQualifierTranslator.html
index fabb7e5..2070309 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/TrimmingQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/TrimmingQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:10 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TrimmingQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>TrimmingQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TrimmingQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="TrimmingQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -427,6 +427,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/DataObjectMatchTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/DataObjectMatchTranslator.html
index c36391a..9b9040a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/DataObjectMatchTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/DataObjectMatchTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.select.DataObjectMatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.select.DataObjectMatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.DataObjectMatchTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.DataObjectMatchTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/DefaultSelectTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/DefaultSelectTranslator.html
index c821409..85d3e66 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/DefaultSelectTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/DefaultSelectTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.select.DefaultSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.select.DefaultSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.DefaultSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.DefaultSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -209,6 +209,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/DefaultSelectTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/DefaultSelectTranslatorFactory.html
index bedebdb..40f5315 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/DefaultSelectTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/DefaultSelectTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.select.DefaultSelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.select.DefaultSelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.DefaultSelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.DefaultSelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/JoinStack.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/JoinStack.html
index 2f06d41..2d2fb10 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/JoinStack.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/JoinStack.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.select.JoinStack (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.select.JoinStack (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.JoinStack (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.JoinStack (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/JoinTreeNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/JoinTreeNode.html
index 427025f..e93e122 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/JoinTreeNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/JoinTreeNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.select.JoinTreeNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.select.JoinTreeNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.JoinTreeNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.JoinTreeNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -205,6 +205,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/OrderingTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/OrderingTranslator.html
index 797d523..0ab4523 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/OrderingTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/OrderingTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.select.OrderingTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.select.OrderingTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.OrderingTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.OrderingTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QualifierTranslator.html
index 870cfe5..1a7dbed 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.select.QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.select.QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -658,6 +658,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QueryAssembler.AddBindingListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QueryAssembler.AddBindingListener.html
index a56fc64..8ef7973 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QueryAssembler.AddBindingListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QueryAssembler.AddBindingListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.translator.select.QueryAssembler.AddBindingListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.translator.select.QueryAssembler.AddBindingListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.translator.select.QueryAssembler.AddBindingListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.translator.select.QueryAssembler.AddBindingListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -174,6 +174,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QueryAssembler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QueryAssembler.html
index f870c95..c9601d8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QueryAssembler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QueryAssembler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.select.QueryAssembler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.select.QueryAssembler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.QueryAssembler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.QueryAssembler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -713,6 +713,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QueryAssemblerHelper.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QueryAssemblerHelper.html
index 613c809..f9d2d03 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QueryAssemblerHelper.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/QueryAssemblerHelper.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.select.QueryAssemblerHelper (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.select.QueryAssemblerHelper (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.QueryAssemblerHelper (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.QueryAssemblerHelper (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -418,6 +418,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/SelectTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/SelectTranslator.html
index 4b3c5a2..9e19cf8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/SelectTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/SelectTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.translator.select.SelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.translator.select.SelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.translator.select.SelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.translator.select.SelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -512,6 +512,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/SelectTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/SelectTranslatorFactory.html
index ff6cf48..9b26067 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/SelectTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/SelectTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.translator.select.SelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.translator.select.SelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.translator.select.SelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.translator.select.SelectTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -223,6 +223,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/TrimmingQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/TrimmingQualifierTranslator.html
index 1c00259..787f9e0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/TrimmingQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/class-use/TrimmingQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.translator.select.TrimmingQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.translator.select.TrimmingQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.TrimmingQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.translator.select.TrimmingQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -263,6 +263,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-frame.html
index 4e3cd0e..500adae 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.translator.select (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.translator.select (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-summary.html
index f59710e..9d6de9c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.translator.select (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.translator.select (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.translator.select (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.translator.select (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -218,6 +218,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-tree.html
index fa11f7d..ed1092f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.translator.select Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.translator.select Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.translator.select Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.translator.select Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-use.html
index 262fe3a..0efaafd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/translator/select/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.access.translator.select (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.access.translator.select (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.access.translator.select (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.access.translator.select (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -764,6 +764,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/BigDecimalType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/BigDecimalType.html
index f207517..af65dce 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/BigDecimalType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/BigDecimalType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BigDecimalType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BigDecimalType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BigDecimalType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BigDecimalType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -417,6 +417,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/BigIntegerValueType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/BigIntegerValueType.html
index 7a3e6df..e1f7fbc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/BigIntegerValueType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/BigIntegerValueType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BigIntegerValueType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BigIntegerValueType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BigIntegerValueType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BigIntegerValueType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -367,6 +367,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/BooleanType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/BooleanType.html
index 9f476d9..29bb327 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/BooleanType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/BooleanType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BooleanType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BooleanType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BooleanType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BooleanType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -425,6 +425,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ByteArrayType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ByteArrayType.html
index 4498a1d..609411e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ByteArrayType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ByteArrayType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ByteArrayType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ByteArrayType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ByteArrayType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ByteArrayType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -629,6 +629,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ByteType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ByteType.html
index 5c53411..6ae901a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ByteType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ByteType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ByteType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ByteType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ByteType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ByteType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -449,6 +449,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/CalendarType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/CalendarType.html
index b133756..507f6ce 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/CalendarType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/CalendarType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CalendarType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CalendarType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CalendarType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CalendarType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -466,6 +466,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/CharType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/CharType.html
index c432f62..201ff09 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/CharType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/CharType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CharType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CharType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CharType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CharType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -590,6 +590,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/CharacterValueType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/CharacterValueType.html
index 52ec0c9..3eb2d67 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/CharacterValueType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/CharacterValueType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CharacterValueType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CharacterValueType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CharacterValueType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CharacterValueType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -368,6 +368,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/DateType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/DateType.html
index f3cc74d..d63919e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/DateType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/DateType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DateType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DateType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DateType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DateType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -417,6 +417,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/DefaultValueObjectTypeRegistry.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/DefaultValueObjectTypeRegistry.html
index 528dd03..b28de3a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/DefaultValueObjectTypeRegistry.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/DefaultValueObjectTypeRegistry.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -290,6 +290,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/DoubleType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/DoubleType.html
index c167b3b..f88e49d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/DoubleType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/DoubleType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DoubleType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DoubleType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DoubleType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DoubleType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -417,6 +417,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/EnumType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/EnumType.html
index dd51253..2a42197 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/EnumType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/EnumType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EnumType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EnumType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EnumType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EnumType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -478,6 +478,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/EnumTypeFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/EnumTypeFactory.html
index ee2d021..79b1726 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/EnumTypeFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/EnumTypeFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EnumTypeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EnumTypeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EnumTypeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EnumTypeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedEnumType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedEnumType.html
index c18820b..edf2fbd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedEnumType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedEnumType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ExtendedEnumType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ExtendedEnumType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExtendedEnumType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ExtendedEnumType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -455,6 +455,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedType.html
index 2ef6884..a078f7c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ExtendedType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ExtendedType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExtendedType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ExtendedType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -380,6 +380,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedTypeFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedTypeFactory.html
index 35668fc..8340220 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedTypeFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedTypeFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ExtendedTypeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ExtendedTypeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExtendedTypeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ExtendedTypeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -231,6 +231,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedTypeMap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedTypeMap.html
index 5145c2b..bcbe09c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedTypeMap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ExtendedTypeMap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ExtendedTypeMap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ExtendedTypeMap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExtendedTypeMap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ExtendedTypeMap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -568,6 +568,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/FloatType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/FloatType.html
index 7b3ef68..b789631 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/FloatType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/FloatType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FloatType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FloatType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FloatType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FloatType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -417,6 +417,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/IntegerType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/IntegerType.html
index 71325e5..709d176 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/IntegerType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/IntegerType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IntegerType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IntegerType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IntegerType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IntegerType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -417,6 +417,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/LongType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/LongType.html
index 4ac7f0b..c759a0a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/LongType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/LongType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LongType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>LongType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LongType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="LongType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -417,6 +417,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ObjectType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ObjectType.html
index 955470c..f94bb9e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ObjectType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ObjectType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjectType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjectType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjectType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjectType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -418,6 +418,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ShortType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ShortType.html
index a98aba5..27fbb78 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ShortType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ShortType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ShortType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ShortType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ShortType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ShortType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -449,6 +449,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/TimeType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/TimeType.html
index 767d6cc..53b4fdd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/TimeType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/TimeType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TimeType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>TimeType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TimeType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="TimeType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -417,6 +417,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/TimestampType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/TimestampType.html
index f790d51..ddd8992 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/TimestampType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/TimestampType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TimestampType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>TimestampType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TimestampType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="TimestampType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -417,6 +417,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/UUIDValueType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/UUIDValueType.html
index 64190d3..6ae7352 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/UUIDValueType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/UUIDValueType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>UUIDValueType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>UUIDValueType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="UUIDValueType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="UUIDValueType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -367,6 +367,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/UtilDateType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/UtilDateType.html
index bea3c11..c5ca607 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/UtilDateType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/UtilDateType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>UtilDateType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>UtilDateType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="UtilDateType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="UtilDateType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -438,6 +438,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ValueObjectType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ValueObjectType.html
index eed3939..9f1a7d6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ValueObjectType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ValueObjectType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ValueObjectType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ValueObjectType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ValueObjectType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ValueObjectType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -319,6 +319,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ValueObjectTypeFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ValueObjectTypeFactory.html
index 97af29f..a766ce2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ValueObjectTypeFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ValueObjectTypeFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ValueObjectTypeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ValueObjectTypeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ValueObjectTypeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ValueObjectTypeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -288,6 +288,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ValueObjectTypeRegistry.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ValueObjectTypeRegistry.html
index 7e71062..2cd759c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ValueObjectTypeRegistry.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/ValueObjectTypeRegistry.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -240,6 +240,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/VoidType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/VoidType.html
index 52e3535..8546b9d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/VoidType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/VoidType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>VoidType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>VoidType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="VoidType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="VoidType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -419,6 +419,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/BigDecimalType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/BigDecimalType.html
index 133d3f0..0e5ae2e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/BigDecimalType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/BigDecimalType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.BigDecimalType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.BigDecimalType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.BigDecimalType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.BigDecimalType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/BigIntegerValueType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/BigIntegerValueType.html
index 9bdf62a..a1f914c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/BigIntegerValueType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/BigIntegerValueType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.BigIntegerValueType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.BigIntegerValueType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.BigIntegerValueType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.BigIntegerValueType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/BooleanType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/BooleanType.html
index d1e251c..980eb50 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/BooleanType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/BooleanType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.BooleanType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.BooleanType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.BooleanType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.BooleanType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ByteArrayType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ByteArrayType.html
index ce3e69d..8ea1193 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ByteArrayType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ByteArrayType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.ByteArrayType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.ByteArrayType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.ByteArrayType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.ByteArrayType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ByteType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ByteType.html
index a8a2f4e..5977197 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ByteType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ByteType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.ByteType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.ByteType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.ByteType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.ByteType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/CalendarType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/CalendarType.html
index a7b135e..44901e0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/CalendarType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/CalendarType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.CalendarType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.CalendarType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.CalendarType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.CalendarType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/CharType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/CharType.html
index 27980ce..20c63a3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/CharType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/CharType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.CharType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.CharType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.CharType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.CharType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/CharacterValueType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/CharacterValueType.html
index 373c250..bba05f6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/CharacterValueType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/CharacterValueType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.CharacterValueType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.CharacterValueType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.CharacterValueType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.CharacterValueType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/DateType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/DateType.html
index bc89e37..7e324cd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/DateType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/DateType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.DateType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.DateType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.DateType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.DateType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/DefaultValueObjectTypeRegistry.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/DefaultValueObjectTypeRegistry.html
index 305b229..dd06b8b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/DefaultValueObjectTypeRegistry.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/DefaultValueObjectTypeRegistry.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.DefaultValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.DefaultValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.DefaultValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.DefaultValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/DoubleType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/DoubleType.html
index 8e08359..64490db 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/DoubleType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/DoubleType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.DoubleType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.DoubleType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.DoubleType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.DoubleType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/EnumType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/EnumType.html
index eedb929..2451f0b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/EnumType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/EnumType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.EnumType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.EnumType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.EnumType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.EnumType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/EnumTypeFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/EnumTypeFactory.html
index 9b2b8a2..d1b5b43 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/EnumTypeFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/EnumTypeFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.EnumTypeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.EnumTypeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.EnumTypeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.EnumTypeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedEnumType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedEnumType.html
index 19559b7..a9a4792 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedEnumType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedEnumType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.ExtendedEnumType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.ExtendedEnumType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.ExtendedEnumType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.ExtendedEnumType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedType.html
index 09121a1..6bd1781 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.types.ExtendedType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.types.ExtendedType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.types.ExtendedType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.types.ExtendedType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1091,6 +1091,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedTypeFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedTypeFactory.html
index 9ea6ffb..f5ad556 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedTypeFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedTypeFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.types.ExtendedTypeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.types.ExtendedTypeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.types.ExtendedTypeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.types.ExtendedTypeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -648,6 +648,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedTypeMap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedTypeMap.html
index c0e61c4..1781102 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedTypeMap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ExtendedTypeMap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.ExtendedTypeMap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.ExtendedTypeMap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.ExtendedTypeMap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.ExtendedTypeMap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -550,6 +550,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/FloatType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/FloatType.html
index 15afd47..e9bf8e4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/FloatType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/FloatType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.FloatType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.FloatType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.FloatType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.FloatType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/IntegerType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/IntegerType.html
index a5d9379..169637f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/IntegerType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/IntegerType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.IntegerType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.IntegerType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.IntegerType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.IntegerType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/LongType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/LongType.html
index 6edd99b..602dbbb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/LongType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/LongType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.LongType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.LongType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.LongType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.LongType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ObjectType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ObjectType.html
index ada5bf0..65f9f75 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ObjectType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ObjectType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.ObjectType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.ObjectType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.ObjectType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.ObjectType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ShortType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ShortType.html
index 25afbe9..cec016c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ShortType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ShortType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.ShortType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.ShortType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.ShortType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.ShortType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/TimeType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/TimeType.html
index d32d796..d9fd4cd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/TimeType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/TimeType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.TimeType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.TimeType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.TimeType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.TimeType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/TimestampType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/TimestampType.html
index 3529164..46216d3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/TimestampType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/TimestampType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.TimestampType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.TimestampType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.TimestampType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.TimestampType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/UUIDValueType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/UUIDValueType.html
index 7ea7669..b133780 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/UUIDValueType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/UUIDValueType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.UUIDValueType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.UUIDValueType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.UUIDValueType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.UUIDValueType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/UtilDateType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/UtilDateType.html
index 52ee351..8b7f164 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/UtilDateType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/UtilDateType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.UtilDateType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.UtilDateType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.UtilDateType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.UtilDateType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ValueObjectType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ValueObjectType.html
index 24ce662..81ee495 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ValueObjectType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ValueObjectType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.types.ValueObjectType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.types.ValueObjectType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.types.ValueObjectType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.types.ValueObjectType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -238,6 +238,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ValueObjectTypeFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ValueObjectTypeFactory.html
index 03bc676..c1ab64f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ValueObjectTypeFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ValueObjectTypeFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.ValueObjectTypeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.ValueObjectTypeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.ValueObjectTypeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.ValueObjectTypeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ValueObjectTypeRegistry.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ValueObjectTypeRegistry.html
index 5d220f2..c880e99 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ValueObjectTypeRegistry.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/ValueObjectTypeRegistry.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.access.types.ValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.access.types.ValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.access.types.ValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.access.types.ValueObjectTypeRegistry (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -681,6 +681,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/VoidType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/VoidType.html
index cd3dcac..5d6fa44 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/VoidType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/class-use/VoidType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.types.VoidType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.types.VoidType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.types.VoidType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.types.VoidType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-frame.html
index 657f2d7..c55f018 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.types (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.types (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-summary.html
index 6a31bcd..1f0a51f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.types (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.types (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.types (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.types (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -318,6 +318,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-tree.html
index 88bd9f6..c57e791 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.types Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.types Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.types Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.types Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-use.html
index 6cf3a39..4fd87c4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/types/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.access.types (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.access.types (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.access.types (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.access.types (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -877,6 +877,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/DefaultOperationObserver.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/DefaultOperationObserver.html
index eb43a36..562f870 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/DefaultOperationObserver.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/DefaultOperationObserver.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultOperationObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultOperationObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultOperationObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultOperationObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -577,6 +577,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/DoNothingOperationObserver.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/DoNothingOperationObserver.html
index d680ace..319c9b1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/DoNothingOperationObserver.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/DoNothingOperationObserver.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DoNothingOperationObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DoNothingOperationObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DoNothingOperationObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DoNothingOperationObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -459,6 +459,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/IteratedSelectObserver.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/IteratedSelectObserver.html
index feb4322..ac42971 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/IteratedSelectObserver.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/IteratedSelectObserver.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IteratedSelectObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IteratedSelectObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IteratedSelectObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IteratedSelectObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -403,6 +403,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/class-use/DefaultOperationObserver.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/class-use/DefaultOperationObserver.html
index 930bd12..d1645b9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/class-use/DefaultOperationObserver.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/class-use/DefaultOperationObserver.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.util.DefaultOperationObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.util.DefaultOperationObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.util.DefaultOperationObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.util.DefaultOperationObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/class-use/DoNothingOperationObserver.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/class-use/DoNothingOperationObserver.html
index ee6d276..0c30998 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/class-use/DoNothingOperationObserver.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/class-use/DoNothingOperationObserver.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.util.DoNothingOperationObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.util.DoNothingOperationObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.util.DoNothingOperationObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.util.DoNothingOperationObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/class-use/IteratedSelectObserver.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/class-use/IteratedSelectObserver.html
index 9febd1c..a74df14 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/class-use/IteratedSelectObserver.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/class-use/IteratedSelectObserver.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.access.util.IteratedSelectObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.access.util.IteratedSelectObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.access.util.IteratedSelectObserver (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.access.util.IteratedSelectObserver (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-frame.html
index abecc13..606b01a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.util (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.util (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-summary.html
index d5411e5..f167c81 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.util (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.util (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.util (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.util (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -155,6 +155,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-tree.html
index 389bec2..b32e327 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.access.util Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.access.util Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.access.util Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.access.util Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -139,6 +139,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-use.html
index c87c95c..ef4e75a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/access/util/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.access.util (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.access.util (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.access.util (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.access.util (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -156,6 +156,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostAdd.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostAdd.html
index 432c166..fe6a50e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostAdd.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostAdd.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PostAdd (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PostAdd (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PostAdd (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PostAdd (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -249,6 +249,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostLoad.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostLoad.html
index cd28b81..fb743c0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostLoad.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostLoad.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PostLoad (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PostLoad (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PostLoad (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PostLoad (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -249,6 +249,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostPersist.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostPersist.html
index 1aad078..c4e5605 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostPersist.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostPersist.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PostPersist (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PostPersist (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PostPersist (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PostPersist (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -249,6 +249,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostRemove.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostRemove.html
index 546a4eb..3dabc0f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostRemove.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostRemove.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PostRemove (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PostRemove (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PostRemove (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PostRemove (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -249,6 +249,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostUpdate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostUpdate.html
index 55a5395..8298ef0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostUpdate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PostUpdate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PostUpdate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PostUpdate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PostUpdate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PostUpdate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -249,6 +249,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PrePersist.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PrePersist.html
index 2155565..56e2ae9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PrePersist.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PrePersist.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PrePersist (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PrePersist (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PrePersist (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PrePersist (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -249,6 +249,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PreRemove.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PreRemove.html
index 32a9858..be470ab 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PreRemove.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PreRemove.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PreRemove (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PreRemove (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PreRemove (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PreRemove (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -249,6 +249,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PreUpdate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PreUpdate.html
index 2a51155..e13fe0c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PreUpdate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/PreUpdate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PreUpdate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PreUpdate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PreUpdate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PreUpdate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -249,6 +249,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostAdd.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostAdd.html
index e51bc8e..dd2c5a5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostAdd.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostAdd.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.annotation.PostAdd (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.annotation.PostAdd (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.annotation.PostAdd (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.annotation.PostAdd (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostLoad.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostLoad.html
index df89faa..a80e260 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostLoad.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostLoad.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.annotation.PostLoad (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.annotation.PostLoad (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.annotation.PostLoad (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.annotation.PostLoad (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostPersist.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostPersist.html
index 4cc4bd0..2740456 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostPersist.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostPersist.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.annotation.PostPersist (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.annotation.PostPersist (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.annotation.PostPersist (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.annotation.PostPersist (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostRemove.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostRemove.html
index 3f15d25..5c23bb6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostRemove.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostRemove.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.annotation.PostRemove (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.annotation.PostRemove (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.annotation.PostRemove (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.annotation.PostRemove (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostUpdate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostUpdate.html
index 42dc381..b8052c9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostUpdate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PostUpdate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.annotation.PostUpdate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.annotation.PostUpdate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.annotation.PostUpdate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.annotation.PostUpdate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PrePersist.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PrePersist.html
index 550e15e..7cde5f2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PrePersist.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PrePersist.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.annotation.PrePersist (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.annotation.PrePersist (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.annotation.PrePersist (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.annotation.PrePersist (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PreRemove.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PreRemove.html
index 6571d4a..a4cc474 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PreRemove.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PreRemove.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.annotation.PreRemove (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.annotation.PreRemove (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.annotation.PreRemove (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.annotation.PreRemove (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PreUpdate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PreUpdate.html
index d9b96b0..4dc36af 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PreUpdate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/class-use/PreUpdate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.annotation.PreUpdate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.annotation.PreUpdate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.annotation.PreUpdate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.annotation.PreUpdate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-frame.html
index ce1f4ce..93e2cbb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.annotation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.annotation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-summary.html
index 27fcd21..40d0c70 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.annotation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.annotation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.annotation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.annotation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -191,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-tree.html
index a21f08b..0b7a496 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.annotation Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.annotation Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.annotation Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.annotation Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -80,14 +80,14 @@
 <div class="contentContainer">
 <h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
 <ul>
-<li type="circle">org.apache.cayenne.annotation.<a href="../../../../org/apache/cayenne/annotation/PreRemove.html" title="annotation in org.apache.cayenne.annotation"><span class="typeNameLink">PreRemove</span></a> (implements java.lang.annotation.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.cayenne.annotation.<a href="../../../../org/apache/cayenne/annotation/PostUpdate.html" title="annotation in org.apache.cayenne.annotation"><span class="typeNameLink">PostUpdate</span></a> (implements java.lang.annotation.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.cayenne.annotation.<a href="../../../../org/apache/cayenne/annotation/PostAdd.html" title="annotation in org.apache.cayenne.annotation"><span class="typeNameLink">PostAdd</span></a> (implements java.lang.annotation.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.cayenne.annotation.<a href="../../../../org/apache/cayenne/annotation/PostRemove.html" title="annotation in org.apache.cayenne.annotation"><span class="typeNameLink">PostRemove</span></a> (implements java.lang.annotation.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.cayenne.annotation.<a href="../../../../org/apache/cayenne/annotation/PostPersist.html" title="annotation in org.apache.cayenne.annotation"><span class="typeNameLink">PostPersist</span></a> (implements java.lang.annotation.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.cayenne.annotation.<a href="../../../../org/apache/cayenne/annotation/PrePersist.html" title="annotation in org.apache.cayenne.annotation"><span class="typeNameLink">PrePersist</span></a> (implements java.lang.annotation.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.cayenne.annotation.<a href="../../../../org/apache/cayenne/annotation/PostAdd.html" title="annotation in org.apache.cayenne.annotation"><span class="typeNameLink">PostAdd</span></a> (implements java.lang.annotation.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.cayenne.annotation.<a href="../../../../org/apache/cayenne/annotation/PostLoad.html" title="annotation in org.apache.cayenne.annotation"><span class="typeNameLink">PostLoad</span></a> (implements java.lang.annotation.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.cayenne.annotation.<a href="../../../../org/apache/cayenne/annotation/PreUpdate.html" title="annotation in org.apache.cayenne.annotation"><span class="typeNameLink">PreUpdate</span></a> (implements java.lang.annotation.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.cayenne.annotation.<a href="../../../../org/apache/cayenne/annotation/PostRemove.html" title="annotation in org.apache.cayenne.annotation"><span class="typeNameLink">PostRemove</span></a> (implements java.lang.annotation.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.cayenne.annotation.<a href="../../../../org/apache/cayenne/annotation/PreRemove.html" title="annotation in org.apache.cayenne.annotation"><span class="typeNameLink">PreRemove</span></a> (implements java.lang.annotation.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.cayenne.annotation.<a href="../../../../org/apache/cayenne/annotation/PostUpdate.html" title="annotation in org.apache.cayenne.annotation"><span class="typeNameLink">PostUpdate</span></a> (implements java.lang.annotation.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
@@ -137,6 +137,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-use.html
index 1a40f72..ab969e4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/annotation/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.annotation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.annotation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.annotation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.annotation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/AshwoodEntitySorter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/AshwoodEntitySorter.html
index bdb2ec3..a265b67 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/AshwoodEntitySorter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/AshwoodEntitySorter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>AshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>AshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="AshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -542,6 +542,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/SortWeight.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/SortWeight.html
index fa61726..ce5637e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/SortWeight.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/SortWeight.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SortWeight (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SortWeight (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SortWeight (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SortWeight (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -228,6 +228,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/WeightedAshwoodEntitySorter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/WeightedAshwoodEntitySorter.html
index 1c272d2..366c81b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/WeightedAshwoodEntitySorter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/WeightedAshwoodEntitySorter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>WeightedAshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>WeightedAshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="WeightedAshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="WeightedAshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -388,6 +388,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/class-use/AshwoodEntitySorter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/class-use/AshwoodEntitySorter.html
index 8a64298..f1845f7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/class-use/AshwoodEntitySorter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/class-use/AshwoodEntitySorter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ashwood.AshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ashwood.AshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ashwood.AshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ashwood.AshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/class-use/SortWeight.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/class-use/SortWeight.html
index 4f62d73..3e64663 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/class-use/SortWeight.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/class-use/SortWeight.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ashwood.SortWeight (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ashwood.SortWeight (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ashwood.SortWeight (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ashwood.SortWeight (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/class-use/WeightedAshwoodEntitySorter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/class-use/WeightedAshwoodEntitySorter.html
index c84e6e8..e3cfca3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/class-use/WeightedAshwoodEntitySorter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/class-use/WeightedAshwoodEntitySorter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ashwood.WeightedAshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ashwood.WeightedAshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ashwood.WeightedAshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ashwood.WeightedAshwoodEntitySorter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/ArcIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/ArcIterator.html
index 54fbd37..04cb9e3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/ArcIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/ArcIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ArcIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ArcIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ArcIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ArcIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -251,6 +251,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/DepthFirstSearch.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/DepthFirstSearch.html
index 5858b4b..7b52e5d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/DepthFirstSearch.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/DepthFirstSearch.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DepthFirstSearch (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DepthFirstSearch (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DepthFirstSearch (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DepthFirstSearch (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -420,6 +420,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/DepthFirstStampSearch.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/DepthFirstStampSearch.html
index eaf238f..694114a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/DepthFirstStampSearch.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/DepthFirstStampSearch.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DepthFirstStampSearch (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DepthFirstStampSearch (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DepthFirstStampSearch (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DepthFirstStampSearch (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -433,6 +433,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/Digraph.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/Digraph.html
index 1341114..57668bd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/Digraph.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/Digraph.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Digraph (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Digraph (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Digraph (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Digraph (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -508,6 +508,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/DigraphIteration.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/DigraphIteration.html
index 0b39f13..9b277dd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/DigraphIteration.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/DigraphIteration.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DigraphIteration (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DigraphIteration (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DigraphIteration (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DigraphIteration (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -273,6 +273,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/FilterArcIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/FilterArcIterator.html
index 1164f3c..e1ce94f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/FilterArcIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/FilterArcIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FilterArcIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FilterArcIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FilterArcIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FilterArcIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -362,6 +362,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/FilterIteration.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/FilterIteration.html
index 184d9ff..205724d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/FilterIteration.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/FilterIteration.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FilterIteration (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FilterIteration (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FilterIteration (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FilterIteration (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -340,6 +340,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/IndegreeTopologicalSort.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/IndegreeTopologicalSort.html
index 2cc1978..0c0326c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/IndegreeTopologicalSort.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/IndegreeTopologicalSort.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IndegreeTopologicalSort (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IndegreeTopologicalSort (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IndegreeTopologicalSort (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IndegreeTopologicalSort (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -322,6 +322,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/MapDigraph.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/MapDigraph.html
index 3ac7531..038c26d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/MapDigraph.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/MapDigraph.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MapDigraph (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MapDigraph (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MapDigraph (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MapDigraph (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -693,6 +693,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/ReversedIteration.ReversedArcIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/ReversedIteration.ReversedArcIterator.html
index d0bb5aa..1d29b81 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/ReversedIteration.ReversedArcIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/ReversedIteration.ReversedArcIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ReversedIteration.ReversedArcIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ReversedIteration.ReversedArcIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ReversedIteration.ReversedArcIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ReversedIteration.ReversedArcIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -356,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/ReversedIteration.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/ReversedIteration.html
index eddc554..f49e7d7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/ReversedIteration.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/ReversedIteration.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ReversedIteration (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ReversedIteration (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ReversedIteration (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ReversedIteration (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -355,6 +355,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/StrongConnection.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/StrongConnection.html
index c3170e6..315ed27 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/StrongConnection.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/StrongConnection.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>StrongConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>StrongConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StrongConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="StrongConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -335,6 +335,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/ArcIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/ArcIterator.html
index e052bdd..db1dc26 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/ArcIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/ArcIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.ashwood.graph.ArcIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.ashwood.graph.ArcIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.ashwood.graph.ArcIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.ashwood.graph.ArcIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -239,6 +239,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/DepthFirstSearch.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/DepthFirstSearch.html
index 0d37999..9473dfb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/DepthFirstSearch.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/DepthFirstSearch.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ashwood.graph.DepthFirstSearch (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ashwood.graph.DepthFirstSearch (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.DepthFirstSearch (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.DepthFirstSearch (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/DepthFirstStampSearch.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/DepthFirstStampSearch.html
index b541129..98acfad 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/DepthFirstStampSearch.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/DepthFirstStampSearch.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ashwood.graph.DepthFirstStampSearch (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ashwood.graph.DepthFirstStampSearch (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.DepthFirstStampSearch (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.DepthFirstStampSearch (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/Digraph.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/Digraph.html
index 25ec89b..29939b7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/Digraph.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/Digraph.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.ashwood.graph.Digraph (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.ashwood.graph.Digraph (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.ashwood.graph.Digraph (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.ashwood.graph.Digraph (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -198,6 +198,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/DigraphIteration.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/DigraphIteration.html
index ca5cfa4..f8b0d15 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/DigraphIteration.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/DigraphIteration.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.ashwood.graph.DigraphIteration (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.ashwood.graph.DigraphIteration (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.ashwood.graph.DigraphIteration (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.ashwood.graph.DigraphIteration (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -222,6 +222,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/FilterArcIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/FilterArcIterator.html
index ea27caf..df148e3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/FilterArcIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/FilterArcIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ashwood.graph.FilterArcIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ashwood.graph.FilterArcIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.FilterArcIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.FilterArcIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/FilterIteration.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/FilterIteration.html
index 8e1e504..cfa497c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/FilterIteration.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/FilterIteration.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ashwood.graph.FilterIteration (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ashwood.graph.FilterIteration (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.FilterIteration (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.FilterIteration (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/IndegreeTopologicalSort.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/IndegreeTopologicalSort.html
index cd9fa86..d9d6b7e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/IndegreeTopologicalSort.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/IndegreeTopologicalSort.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ashwood.graph.IndegreeTopologicalSort (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ashwood.graph.IndegreeTopologicalSort (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.IndegreeTopologicalSort (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.IndegreeTopologicalSort (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/MapDigraph.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/MapDigraph.html
index 86b99ad..033fbbd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/MapDigraph.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/MapDigraph.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ashwood.graph.MapDigraph (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ashwood.graph.MapDigraph (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.MapDigraph (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.MapDigraph (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/ReversedIteration.ReversedArcIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/ReversedIteration.ReversedArcIterator.html
index ca2bad9..8288529 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/ReversedIteration.ReversedArcIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/ReversedIteration.ReversedArcIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ashwood.graph.ReversedIteration.ReversedArcIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ashwood.graph.ReversedIteration.ReversedArcIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.ReversedIteration.ReversedArcIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.ReversedIteration.ReversedArcIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/ReversedIteration.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/ReversedIteration.html
index 86753c7..16c634f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/ReversedIteration.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/ReversedIteration.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ashwood.graph.ReversedIteration (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ashwood.graph.ReversedIteration (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.ReversedIteration (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.ReversedIteration (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/StrongConnection.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/StrongConnection.html
index b1a9493..f5ad1b1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/StrongConnection.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/class-use/StrongConnection.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ashwood.graph.StrongConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ashwood.graph.StrongConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.StrongConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ashwood.graph.StrongConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-frame.html
index 55df417..be41e97 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.ashwood.graph (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.ashwood.graph (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-summary.html
index 88ae84f..b841e54 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.ashwood.graph (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.ashwood.graph (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.ashwood.graph (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.ashwood.graph (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -194,6 +194,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-tree.html
index 86e198b..5479e7d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.ashwood.graph Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.ashwood.graph Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.ashwood.graph Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.ashwood.graph Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-use.html
index ddae669..fac3bdf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/graph/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.ashwood.graph (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.ashwood.graph (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.ashwood.graph (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.ashwood.graph (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-frame.html
index b6ddd2b..83912d2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.ashwood (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.ashwood (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-summary.html
index 18df14f..1d590ab 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.ashwood (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.ashwood (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.ashwood (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.ashwood (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -167,6 +167,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-tree.html
index ceb0c8e..c9bf754 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.ashwood Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.ashwood Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.ashwood Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.ashwood Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -142,6 +142,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-use.html
index 5b8eff8..c835a75 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ashwood/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.ashwood (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.ashwood (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.ashwood (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.ashwood (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -157,6 +157,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/EhCacheQueryCache.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/EhCacheQueryCache.html
index 6cd9c44..d86270b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/EhCacheQueryCache.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/EhCacheQueryCache.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EhCacheQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EhCacheQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EhCacheQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EhCacheQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -606,6 +606,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/MapQueryCache.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/MapQueryCache.html
index 982b867..59613a8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/MapQueryCache.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/MapQueryCache.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MapQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MapQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MapQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MapQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -583,6 +583,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/MapQueryCacheProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/MapQueryCacheProvider.html
index 9f01071..7425ff8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/MapQueryCacheProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/MapQueryCacheProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MapQueryCacheProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MapQueryCacheProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MapQueryCacheProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MapQueryCacheProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -320,6 +320,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/NestedQueryCache.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/NestedQueryCache.html
index 3935c52..62e7e65 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/NestedQueryCache.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/NestedQueryCache.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NestedQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>NestedQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NestedQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="NestedQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -527,6 +527,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/OSQueryCache.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/OSQueryCache.html
index f5cdd9c..b0e5367 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/OSQueryCache.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/OSQueryCache.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OSQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OSQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OSQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OSQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -756,6 +756,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/QueryCache.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/QueryCache.html
index 0bffd9a..90bdd7e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/QueryCache.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/QueryCache.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -376,6 +376,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/QueryCacheEntryFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/QueryCacheEntryFactory.html
index 47438e1..7169ce9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/QueryCacheEntryFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/QueryCacheEntryFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryCacheEntryFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryCacheEntryFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryCacheEntryFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryCacheEntryFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -227,6 +227,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/EhCacheQueryCache.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/EhCacheQueryCache.html
index 571119a..bb1c96a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/EhCacheQueryCache.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/EhCacheQueryCache.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.cache.EhCacheQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.cache.EhCacheQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.cache.EhCacheQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.cache.EhCacheQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/MapQueryCache.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/MapQueryCache.html
index 8c6d9fb..5bfaa47 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/MapQueryCache.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/MapQueryCache.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.cache.MapQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.cache.MapQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.cache.MapQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.cache.MapQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/MapQueryCacheProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/MapQueryCacheProvider.html
index e885153..d30fa78 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/MapQueryCacheProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/MapQueryCacheProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.cache.MapQueryCacheProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.cache.MapQueryCacheProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.cache.MapQueryCacheProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.cache.MapQueryCacheProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/NestedQueryCache.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/NestedQueryCache.html
index 2c89ec8..6df4794 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/NestedQueryCache.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/NestedQueryCache.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.cache.NestedQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.cache.NestedQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.cache.NestedQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.cache.NestedQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/OSQueryCache.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/OSQueryCache.html
index 40f2e08..a758dba 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/OSQueryCache.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/OSQueryCache.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.cache.OSQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.cache.OSQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.cache.OSQueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.cache.OSQueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/QueryCache.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/QueryCache.html
index c12c3ab..0eb4a0d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/QueryCache.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/QueryCache.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.cache.QueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.cache.QueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.cache.QueryCache (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.cache.QueryCache (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -407,6 +407,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/QueryCacheEntryFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/QueryCacheEntryFactory.html
index 16d869f..8449957 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/QueryCacheEntryFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/class-use/QueryCacheEntryFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.cache.QueryCacheEntryFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.cache.QueryCacheEntryFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.cache.QueryCacheEntryFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.cache.QueryCacheEntryFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -215,6 +215,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-frame.html
index 5749137..c91f8a8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.cache (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.cache (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-summary.html
index 1bdc0af..9b04ffc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.cache (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.cache (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.cache (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.cache (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -188,6 +188,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-tree.html
index 5425dba..97bd1b9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.cache Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.cache Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.cache Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.cache Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -143,6 +143,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-use.html
index d60aae8..c22b51d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/cache/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.cache (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.cache (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.cache (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.cache (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -277,6 +277,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/BaseContext.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/BaseContext.html
index 0fa296c..6224f04 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/BaseContext.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/BaseContext.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.BaseContext (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.BaseContext (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.BaseContext (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.BaseContext (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -192,6 +192,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Cayenne.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Cayenne.html
index d7654c2..6f4f11f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Cayenne.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Cayenne.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.Cayenne (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.Cayenne (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.Cayenne (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.Cayenne (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneContext.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneContext.html
index 7de2d47..ed4364f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneContext.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneContext.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.CayenneContext (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.CayenneContext (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.CayenneContext (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.CayenneContext (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneDataObject.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneDataObject.html
index 766fc54..29f1f10 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneDataObject.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneDataObject.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.CayenneDataObject (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.CayenneDataObject (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.CayenneDataObject (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.CayenneDataObject (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneException.html
index 2868728..8c5e7b5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.CayenneException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.CayenneException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.CayenneException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.CayenneException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -205,6 +205,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneRuntimeException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneRuntimeException.html
index 83e3772..f9ea954 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneRuntimeException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/CayenneRuntimeException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.CayenneRuntimeException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.CayenneRuntimeException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.CayenneRuntimeException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.CayenneRuntimeException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -724,6 +724,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ConfigurationException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ConfigurationException.html
index b5310c2..cfeb4bf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ConfigurationException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ConfigurationException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ConfigurationException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ConfigurationException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ConfigurationException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ConfigurationException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -277,6 +277,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannel.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannel.html
index 2f3ba15..3c7308a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannel.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannel.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.DataChannel (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.DataChannel (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.DataChannel (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.DataChannel (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -686,6 +686,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelFilter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelFilter.html
index 3e59494..cf06ec7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelFilter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.DataChannelFilter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.DataChannelFilter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.DataChannelFilter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.DataChannelFilter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -261,6 +261,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelFilterChain.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelFilterChain.html
index 7efc164..20d4aa4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelFilterChain.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelFilterChain.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.DataChannelFilterChain (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.DataChannelFilterChain (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.DataChannelFilterChain (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.DataChannelFilterChain (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -203,6 +203,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelListener.html
index 50c5108..e0554b0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.DataChannelListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.DataChannelListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.DataChannelListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.DataChannelListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -174,6 +174,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelSyncCallbackAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelSyncCallbackAction.html
index ee5716b..a39160b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelSyncCallbackAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelSyncCallbackAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.DataChannelSyncCallbackAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.DataChannelSyncCallbackAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.DataChannelSyncCallbackAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.DataChannelSyncCallbackAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelSyncFilterChain.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelSyncFilterChain.html
index 0f51d33..35b9569 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelSyncFilterChain.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataChannelSyncFilterChain.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.DataChannelSyncFilterChain (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.DataChannelSyncFilterChain (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.DataChannelSyncFilterChain (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.DataChannelSyncFilterChain (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataObject.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataObject.html
index 6d006f6..154fcaf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataObject.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataObject.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.DataObject (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.DataObject (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.DataObject (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.DataObject (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataRow.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataRow.html
index a9b629b..28ed56e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataRow.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DataRow.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.DataRow (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.DataRow (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.DataRow (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.DataRow (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -501,6 +501,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DeleteDenyException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DeleteDenyException.html
index f4e9561..99a5a81 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DeleteDenyException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/DeleteDenyException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.DeleteDenyException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.DeleteDenyException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.DeleteDenyException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.DeleteDenyException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -189,6 +189,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ExtendedEnumeration.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ExtendedEnumeration.html
index 0aafe50..4ece889 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ExtendedEnumeration.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ExtendedEnumeration.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.ExtendedEnumeration (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.ExtendedEnumeration (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.ExtendedEnumeration (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.ExtendedEnumeration (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Fault.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Fault.html
index a8a464d..b0bcfe7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Fault.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Fault.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.Fault (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.Fault (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.Fault (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.Fault (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -267,6 +267,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/FaultFailureException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/FaultFailureException.html
index 2644ab6..5f584d5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/FaultFailureException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/FaultFailureException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.FaultFailureException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.FaultFailureException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.FaultFailureException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.FaultFailureException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/LifecycleListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/LifecycleListener.html
index 5d3c8d7..4247261 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/LifecycleListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/LifecycleListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.LifecycleListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.LifecycleListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.LifecycleListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.LifecycleListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -170,6 +170,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ObjectContext.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ObjectContext.html
index e6209a5..f49d913 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ObjectContext.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ObjectContext.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.ObjectContext (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.ObjectContext (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.ObjectContext (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.ObjectContext (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1032,6 +1032,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ObjectId.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ObjectId.html
index 22acbfb..a415c99 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ObjectId.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ObjectId.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ObjectId (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ObjectId (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ObjectId (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ObjectId (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -717,6 +717,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/PersistenceState.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/PersistenceState.html
index 959c04b..5eac241 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/PersistenceState.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/PersistenceState.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.PersistenceState (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.PersistenceState (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.PersistenceState (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.PersistenceState (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Persistent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Persistent.html
index 996a964..fe95d3c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Persistent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Persistent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.Persistent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.Persistent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.Persistent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.Persistent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -471,6 +471,10 @@
 <div class="block">Creates ToManyList.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ToManySet.html#ToManySet-org.apache.cayenne.Persistent-java.lang.String-">ToManySet</a></span>(<a href="../../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&nbsp;relationshipOwner,
+         <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;relationshipName)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
@@ -882,6 +886,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/PersistentObject.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/PersistentObject.html
index ca96512..555e107 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/PersistentObject.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/PersistentObject.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.PersistentObject (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.PersistentObject (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.PersistentObject (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.PersistentObject (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ProcedureResult.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ProcedureResult.html
index a2e28b3..7f751f2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ProcedureResult.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ProcedureResult.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ProcedureResult (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ProcedureResult (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ProcedureResult (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ProcedureResult (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -188,6 +188,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/QueryResponse.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/QueryResponse.html
index 70a690b..07cce9f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/QueryResponse.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/QueryResponse.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.QueryResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.QueryResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.QueryResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.QueryResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -372,6 +372,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/QueryResult.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/QueryResult.html
index 10bf23b..f96370f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/QueryResult.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/QueryResult.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.QueryResult (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.QueryResult (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.QueryResult (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.QueryResult (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -245,6 +245,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/QueryResultItem.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/QueryResultItem.html
index 5af0d82..f620b6f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/QueryResultItem.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/QueryResultItem.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.QueryResultItem (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.QueryResultItem (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.QueryResultItem (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.QueryResultItem (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -221,6 +221,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ResultBatchIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ResultBatchIterator.html
index 27977e3..235a02e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ResultBatchIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ResultBatchIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ResultBatchIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ResultBatchIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ResultBatchIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ResultBatchIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -225,6 +225,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ResultIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ResultIterator.html
index 80fe4a3..0ac4c79 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ResultIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ResultIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.ResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.ResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.ResultIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.ResultIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -471,6 +471,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ResultIteratorCallback.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ResultIteratorCallback.html
index 506aef6..82e6b1d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ResultIteratorCallback.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ResultIteratorCallback.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.ResultIteratorCallback (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.ResultIteratorCallback (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.ResultIteratorCallback (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.ResultIteratorCallback (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -226,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Validating.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Validating.html
index 070c02b..94d5083 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Validating.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/Validating.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.Validating (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.Validating (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.Validating (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.Validating (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ValueHolder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ValueHolder.html
index 170823e..88d753d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ValueHolder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/class-use/ValueHolder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.ValueHolder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.ValueHolder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.ValueHolder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.ValueHolder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,10 @@
 <div class="block">A list that holds objects for to-many relationships.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -244,6 +248,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/BaseConfigurationNodeVisitor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/BaseConfigurationNodeVisitor.html
index f9e285f..a47fc71 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/BaseConfigurationNodeVisitor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/BaseConfigurationNodeVisitor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BaseConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BaseConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BaseConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BaseConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -505,6 +505,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/CayenneRuntime.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/CayenneRuntime.html
index d81c3a2..177a293 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/CayenneRuntime.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/CayenneRuntime.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CayenneRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CayenneRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CayenneRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CayenneRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -542,6 +542,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationNameMapper.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationNameMapper.html
index 05eeabb..9fb1d0c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationNameMapper.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationNameMapper.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -270,6 +270,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationNode.html
index 0ff6db5..e6ca580 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ConfigurationNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ConfigurationNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ConfigurationNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ConfigurationNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -228,6 +228,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationNodeVisitor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationNodeVisitor.html
index 9d576db..367afca 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationNodeVisitor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationNodeVisitor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -397,6 +397,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationTree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationTree.html
index e57a5ce..e90e298 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationTree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ConfigurationTree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ConfigurationTree (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ConfigurationTree (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ConfigurationTree (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ConfigurationTree (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -354,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/Constants.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/Constants.html
index 1945e4b..4d658b3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/Constants.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/Constants.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Constants (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Constants (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Constants (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Constants (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1069,6 +1069,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataChannelDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataChannelDescriptor.html
index 29c2959..6ded38c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataChannelDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataChannelDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataChannelDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataChannelDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataChannelDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataChannelDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -554,6 +554,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataChannelDescriptorLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataChannelDescriptorLoader.html
index 8175a18..c5f93cd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataChannelDescriptorLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataChannelDescriptorLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -238,6 +238,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataChannelDescriptorMerger.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataChannelDescriptorMerger.html
index 4c97e1d..9f5c32b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataChannelDescriptorMerger.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataChannelDescriptorMerger.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -227,6 +227,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataMapLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataMapLoader.html
index caa0f62..e027856 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataMapLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataMapLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataMapLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataMapLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataMapLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataMapLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -232,6 +232,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataNodeDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataNodeDescriptor.html
index f60d8a9..342fd52 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataNodeDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DataNodeDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataNodeDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataNodeDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataNodeDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataNodeDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -726,6 +726,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultConfigurationNameMapper.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultConfigurationNameMapper.html
index 0a06974..5778827 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultConfigurationNameMapper.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultConfigurationNameMapper.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -401,6 +401,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultDataChannelDescriptorMerger.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultDataChannelDescriptorMerger.html
index af3c706..5e91c8a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultDataChannelDescriptorMerger.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultDataChannelDescriptorMerger.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultDataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultDataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultDataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultDataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -315,6 +315,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultObjectStoreFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultObjectStoreFactory.html
index 947a921..8b8fbbe 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultObjectStoreFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultObjectStoreFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -337,6 +337,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultRuntimeProperties.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultRuntimeProperties.html
index fb50a8f..a8adb72 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultRuntimeProperties.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/DefaultRuntimeProperties.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultRuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultRuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultRuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultRuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -409,6 +409,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ObjectContextFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ObjectContextFactory.html
index fd6020c..2d3b4fe 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ObjectContextFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ObjectContextFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjectContextFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjectContextFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjectContextFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjectContextFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -247,6 +247,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ObjectStoreFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ObjectStoreFactory.html
index be19390..778d68a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ObjectStoreFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/ObjectStoreFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -230,6 +230,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/PasswordEncoding.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/PasswordEncoding.html
index 2d266a5..64ed0f2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/PasswordEncoding.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/PasswordEncoding.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PasswordEncoding (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PasswordEncoding (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PasswordEncoding (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PasswordEncoding (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -308,6 +308,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/PlainTextPasswordEncoder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/PlainTextPasswordEncoder.html
index a2c3802..d595b0d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/PlainTextPasswordEncoder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/PlainTextPasswordEncoder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PlainTextPasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PlainTextPasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PlainTextPasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PlainTextPasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -340,6 +340,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/Rot13PasswordEncoder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/Rot13PasswordEncoder.html
index 568f8f0..bd84ae1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/Rot13PasswordEncoder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/Rot13PasswordEncoder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Rot13PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Rot13PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Rot13PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Rot13PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -374,6 +374,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/Rot47PasswordEncoder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/Rot47PasswordEncoder.html
index 6dbe49d..28f4b22 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/Rot47PasswordEncoder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/Rot47PasswordEncoder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Rot47PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Rot47PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Rot47PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Rot47PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -373,6 +373,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/RuntimeProperties.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/RuntimeProperties.html
index 81ad39a..f1a390e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/RuntimeProperties.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/RuntimeProperties.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>RuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>RuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="RuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="RuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/SAXNestedTagHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/SAXNestedTagHandler.html
index 867ffbd..3f8d47a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/SAXNestedTagHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/SAXNestedTagHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SAXNestedTagHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SAXNestedTagHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SAXNestedTagHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SAXNestedTagHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -460,6 +460,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/XMLDataChannelDescriptorLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/XMLDataChannelDescriptorLoader.html
index a985df0..a647f69 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/XMLDataChannelDescriptorLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/XMLDataChannelDescriptorLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>XMLDataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>XMLDataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="XMLDataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="XMLDataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/XMLDataMapLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/XMLDataMapLoader.html
index ecf0538..f484098 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/XMLDataMapLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/XMLDataMapLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>XMLDataMapLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>XMLDataMapLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="XMLDataMapLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="XMLDataMapLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -284,6 +284,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/BaseConfigurationNodeVisitor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/BaseConfigurationNodeVisitor.html
index d8cbdfa..dbcf58f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/BaseConfigurationNodeVisitor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/BaseConfigurationNodeVisitor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.BaseConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.BaseConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.BaseConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.BaseConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/CayenneRuntime.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/CayenneRuntime.html
index e960b65..1307683 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/CayenneRuntime.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/CayenneRuntime.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.CayenneRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.CayenneRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.CayenneRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.CayenneRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -236,6 +236,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationNameMapper.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationNameMapper.html
index 4ad9254..bbe5f55 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationNameMapper.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationNameMapper.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.ConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.ConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.ConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.ConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -174,6 +174,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationNode.html
index ae69b8e..4036985 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.ConfigurationNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.ConfigurationNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.ConfigurationNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.ConfigurationNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -378,6 +378,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationNodeVisitor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationNodeVisitor.html
index 2cff839..85212d7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationNodeVisitor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationNodeVisitor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.ConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.ConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.ConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.ConfigurationNodeVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -267,6 +267,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationTree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationTree.html
index 3b6400b..ac3d2fb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationTree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ConfigurationTree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.ConfigurationTree (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.ConfigurationTree (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.ConfigurationTree (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.ConfigurationTree (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -203,6 +203,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/Constants.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/Constants.html
index dbb1c50..074d52f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/Constants.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/Constants.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.Constants (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.Constants (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.Constants (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.Constants (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataChannelDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataChannelDescriptor.html
index c061743..7a28444 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataChannelDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataChannelDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.DataChannelDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.DataChannelDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.DataChannelDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.DataChannelDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -387,6 +387,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataChannelDescriptorLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataChannelDescriptorLoader.html
index 0f2fb7f..94a0333 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataChannelDescriptorLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataChannelDescriptorLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.DataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.DataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.DataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.DataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -183,6 +183,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataChannelDescriptorMerger.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataChannelDescriptorMerger.html
index 0d74b27..e1616db 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataChannelDescriptorMerger.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataChannelDescriptorMerger.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.DataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.DataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.DataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.DataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -185,6 +185,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataMapLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataMapLoader.html
index 54af1e7..3841819 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataMapLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataMapLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.DataMapLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.DataMapLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.DataMapLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.DataMapLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -174,6 +174,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataNodeDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataNodeDescriptor.html
index 4361cad..eee9378 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataNodeDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DataNodeDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.DataNodeDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.DataNodeDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.DataNodeDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.DataNodeDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultConfigurationNameMapper.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultConfigurationNameMapper.html
index 65b0375..32dc891 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultConfigurationNameMapper.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultConfigurationNameMapper.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.DefaultConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.DefaultConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.DefaultConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.DefaultConfigurationNameMapper (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultDataChannelDescriptorMerger.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultDataChannelDescriptorMerger.html
index 7b49705..b7a617d8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultDataChannelDescriptorMerger.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultDataChannelDescriptorMerger.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.DefaultDataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.DefaultDataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.DefaultDataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.DefaultDataChannelDescriptorMerger (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultObjectStoreFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultObjectStoreFactory.html
index 194e31d..f936b33 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultObjectStoreFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultObjectStoreFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.DefaultObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.DefaultObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.DefaultObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.DefaultObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultRuntimeProperties.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultRuntimeProperties.html
index b697a17..b3f66a5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultRuntimeProperties.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/DefaultRuntimeProperties.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.DefaultRuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.DefaultRuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.DefaultRuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.DefaultRuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ObjectContextFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ObjectContextFactory.html
index a2d6fe9..4386b51 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ObjectContextFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ObjectContextFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.ObjectContextFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.ObjectContextFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.ObjectContextFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.ObjectContextFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -263,6 +263,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ObjectStoreFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ObjectStoreFactory.html
index 6806ecd..f270a45 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ObjectStoreFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/ObjectStoreFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.ObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.ObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.ObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.ObjectStoreFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/PasswordEncoding.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/PasswordEncoding.html
index 0c3d71d..b1555de 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/PasswordEncoding.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/PasswordEncoding.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.PasswordEncoding (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.PasswordEncoding (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.PasswordEncoding (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.PasswordEncoding (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -204,6 +204,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/PlainTextPasswordEncoder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/PlainTextPasswordEncoder.html
index 94e3ce9..daf08a7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/PlainTextPasswordEncoder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/PlainTextPasswordEncoder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.PlainTextPasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.PlainTextPasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.PlainTextPasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.PlainTextPasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/Rot13PasswordEncoder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/Rot13PasswordEncoder.html
index fcf787a..7e06549 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/Rot13PasswordEncoder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/Rot13PasswordEncoder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.Rot13PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.Rot13PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.Rot13PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.Rot13PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/Rot47PasswordEncoder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/Rot47PasswordEncoder.html
index 5a94ce7..84b1b7f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/Rot47PasswordEncoder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/Rot47PasswordEncoder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.Rot47PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.Rot47PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.Rot47PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.Rot47PasswordEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/RuntimeProperties.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/RuntimeProperties.html
index e3ca280..af55c45 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/RuntimeProperties.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/RuntimeProperties.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.RuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.RuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.RuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.RuntimeProperties (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -188,14 +188,20 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.cayenne.event">org.apache.cayenne.event</a></td>
+<td class="colLast">
+<div class="block">Contains classes that make up Cayenne generic event dispatch mechanism.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.log">org.apache.cayenne.log</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.rop">org.apache.cayenne.rop</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.tx">org.apache.cayenne.tx</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -702,6 +708,35 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.cayenne.event">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/cayenne/configuration/RuntimeProperties.html" title="interface in org.apache.cayenne.configuration">RuntimeProperties</a> in <a href="../../../../../org/apache/cayenne/event/package-summary.html">org.apache.cayenne.event</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../org/apache/cayenne/event/package-summary.html">org.apache.cayenne.event</a> declared as <a href="../../../../../org/apache/cayenne/configuration/RuntimeProperties.html" title="interface in org.apache.cayenne.configuration">RuntimeProperties</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/cayenne/configuration/RuntimeProperties.html" title="interface in org.apache.cayenne.configuration">RuntimeProperties</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EventManagerProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/EventManagerProvider.html#properties">properties</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/cayenne/event/package-summary.html">org.apache.cayenne.event</a> with parameters of type <a href="../../../../../org/apache/cayenne/configuration/RuntimeProperties.html" title="interface in org.apache.cayenne.configuration">RuntimeProperties</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/EventManagerProvider.html#EventManagerProvider-org.apache.cayenne.configuration.RuntimeProperties-">EventManagerProvider</a></span>(<a href="../../../../../org/apache/cayenne/configuration/RuntimeProperties.html" title="interface in org.apache.cayenne.configuration">RuntimeProperties</a>&nbsp;properties)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.cayenne.log">
 <!--   -->
 </a>
@@ -807,6 +842,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/SAXNestedTagHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/SAXNestedTagHandler.html
index b198884..47e5e62 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/SAXNestedTagHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/SAXNestedTagHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.SAXNestedTagHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.SAXNestedTagHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.SAXNestedTagHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.SAXNestedTagHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/XMLDataChannelDescriptorLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/XMLDataChannelDescriptorLoader.html
index adace07..682c17b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/XMLDataChannelDescriptorLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/XMLDataChannelDescriptorLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.XMLDataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.XMLDataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.XMLDataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.XMLDataChannelDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/XMLDataMapLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/XMLDataMapLoader.html
index 9dce1ab..fb0a3e7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/XMLDataMapLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/class-use/XMLDataMapLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.XMLDataMapLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.XMLDataMapLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.XMLDataMapLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.XMLDataMapLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiClassLoaderManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiClassLoaderManager.html
index d86c9d0..3d8500b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiClassLoaderManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiClassLoaderManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OsgiClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OsgiClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OsgiClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OsgiClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiDataDomainProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiDataDomainProvider.html
index 734372c..ebb9f87 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiDataDomainProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiDataDomainProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OsgiDataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OsgiDataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OsgiDataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OsgiDataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -312,6 +312,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiModule.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiModule.html
index 3e9dd82..ed740d8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiModule.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiModule.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OsgiModule (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OsgiModule (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OsgiModule (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OsgiModule (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -248,6 +248,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiModuleBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiModuleBuilder.html
index 879cd81..b78f379 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiModuleBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/OsgiModuleBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OsgiModuleBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OsgiModuleBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OsgiModuleBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OsgiModuleBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -307,6 +307,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiClassLoaderManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiClassLoaderManager.html
index 327b8e8..c4f526e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiClassLoaderManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiClassLoaderManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.osgi.OsgiClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.osgi.OsgiClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.osgi.OsgiClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.osgi.OsgiClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiDataDomainProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiDataDomainProvider.html
index 2df58af..4f2a734 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiDataDomainProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiDataDomainProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.osgi.OsgiDataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.osgi.OsgiDataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.osgi.OsgiDataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.osgi.OsgiDataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiModule.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiModule.html
index 321c8c1..19d3267 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiModule.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiModule.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.osgi.OsgiModule (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.osgi.OsgiModule (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.osgi.OsgiModule (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.osgi.OsgiModule (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiModuleBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiModuleBuilder.html
index a746954..fc43b7d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiModuleBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/class-use/OsgiModuleBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.osgi.OsgiModuleBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.osgi.OsgiModuleBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.osgi.OsgiModuleBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.osgi.OsgiModuleBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -179,6 +179,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-frame.html
index b6959c6..70b67d2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration.osgi (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration.osgi (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-summary.html
index 6f76e66..70448f0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration.osgi (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration.osgi (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.configuration.osgi (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.configuration.osgi (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -155,6 +155,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-tree.html
index 4925990..2cd56c9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration.osgi Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration.osgi Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.configuration.osgi Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.configuration.osgi Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -141,6 +141,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-use.html
index 1032a50..55816aa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/osgi/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.configuration.osgi (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.configuration.osgi (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.configuration.osgi (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.configuration.osgi (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -156,6 +156,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-frame.html
index 651420c..c1e000e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-summary.html
index 866ed64..0e00585 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.configuration (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.configuration (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -307,6 +307,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-tree.html
index 488e2c2..e99f603 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.configuration Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.configuration Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-use.html
index 374cb81..82fe8bb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.configuration (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.configuration (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.configuration (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.configuration (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -200,33 +200,39 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.cayenne.event">org.apache.cayenne.event</a></td>
+<td class="colLast">
+<div class="block">Contains classes that make up Cayenne generic event dispatch mechanism.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.log">org.apache.cayenne.log</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.map">org.apache.cayenne.map</a></td>
 <td class="colLast">
 <div class="block">Contains O/R mapping classes that store relational database 
 metadata information and map it to Java classes.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.map.event">org.apache.cayenne.map.event</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.remote.hessian.service">org.apache.cayenne.remote.hessian.service</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.remote.service">org.apache.cayenne.remote.service</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.rop">org.apache.cayenne.rop</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.tx">org.apache.cayenne.tx</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -741,6 +747,23 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.cayenne.event">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/cayenne/configuration/package-summary.html">org.apache.cayenne.configuration</a> used by <a href="../../../../org/apache/cayenne/event/package-summary.html">org.apache.cayenne.event</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/cayenne/configuration/class-use/RuntimeProperties.html#org.apache.cayenne.event">RuntimeProperties</a>
+<div class="block">Represents a properties map for a given <a href="../../../../org/apache/cayenne/configuration/CayenneRuntime.html" title="class in org.apache.cayenne.configuration"><code>CayenneRuntime</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.cayenne.log">
 <!--   -->
 </a>
@@ -925,6 +948,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/CayenneClientModuleProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/CayenneClientModuleProvider.html
index 369368d..ad8bf82 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/CayenneClientModuleProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/CayenneClientModuleProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -199,6 +199,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/CayenneContextFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/CayenneContextFactory.html
index 5531fb7..6412977 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/CayenneContextFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/CayenneContextFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CayenneContextFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CayenneContextFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CayenneContextFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CayenneContextFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -395,6 +395,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientChannelProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientChannelProvider.html
index 7f82442..8e73339 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientChannelProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientChannelProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClientChannelProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClientChannelProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClientChannelProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClientChannelProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -342,6 +342,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientConstants.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientConstants.html
index 56af1e5..1c3e00b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientConstants.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientConstants.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClientConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClientConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClientConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClientConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -435,6 +435,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientLocalRuntime.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientLocalRuntime.html
index 3e0ea80..7d5a381 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientLocalRuntime.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientLocalRuntime.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClientLocalRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClientLocalRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClientLocalRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClientLocalRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientModule.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientModule.html
index 627ac86..5b47127 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientModule.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientModule.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClientModule (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClientModule (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClientModule (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClientModule (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -354,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientRuntime.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientRuntime.html
index 53c0dc0..eb40c7c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientRuntime.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientRuntime.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClientRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClientRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClientRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClientRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -420,6 +420,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.html
index 381f570..e9618ca 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClientRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClientRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClientRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClientRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -336,6 +336,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/LocalClientServerChannelProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/LocalClientServerChannelProvider.html
index f14b151..39ff140 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/LocalClientServerChannelProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/LocalClientServerChannelProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LocalClientServerChannelProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>LocalClientServerChannelProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LocalClientServerChannelProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="LocalClientServerChannelProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -321,6 +321,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/LocalConnectionProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/LocalConnectionProvider.html
index eb30b0f..ced08aa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/LocalConnectionProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/LocalConnectionProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LocalConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>LocalConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LocalConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="LocalConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -320,6 +320,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/MainCayenneClientModuleProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/MainCayenneClientModuleProvider.html
index c4a76df..b25b988 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/MainCayenneClientModuleProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/MainCayenneClientModuleProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MainCayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MainCayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MainCayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MainCayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -322,6 +322,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/CayenneClientModuleProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/CayenneClientModuleProvider.html
index 43782da..ca8116c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/CayenneClientModuleProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/CayenneClientModuleProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.rop.client.CayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.rop.client.CayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.rop.client.CayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.rop.client.CayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/CayenneContextFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/CayenneContextFactory.html
index cc38199..4787e8a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/CayenneContextFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/CayenneContextFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.rop.client.CayenneContextFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.rop.client.CayenneContextFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.CayenneContextFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.CayenneContextFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientChannelProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientChannelProvider.html
index 1e38a88..b77e2a9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientChannelProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientChannelProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.rop.client.ClientChannelProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.rop.client.ClientChannelProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.ClientChannelProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.ClientChannelProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientConstants.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientConstants.html
index 25ddd01..ca0132a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientConstants.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientConstants.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.rop.client.ClientConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.rop.client.ClientConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.ClientConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.ClientConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientLocalRuntime.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientLocalRuntime.html
index 2696cbe..8cde3cf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientLocalRuntime.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientLocalRuntime.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.rop.client.ClientLocalRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.rop.client.ClientLocalRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.ClientLocalRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.ClientLocalRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientModule.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientModule.html
index 5e4dd22..9ec04b9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientModule.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientModule.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.rop.client.ClientModule (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.rop.client.ClientModule (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.ClientModule (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.ClientModule (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientRuntime.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientRuntime.html
index 94eddf7..9b5219c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientRuntime.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientRuntime.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.rop.client.ClientRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.rop.client.ClientRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.ClientRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.ClientRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -178,6 +178,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientRuntimeBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientRuntimeBuilder.html
index 6945d00..4016861 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientRuntimeBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/ClientRuntimeBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.rop.client.ClientRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.rop.client.ClientRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.ClientRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.ClientRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -188,6 +188,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/LocalClientServerChannelProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/LocalClientServerChannelProvider.html
index a54a90b..ecc35fa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/LocalClientServerChannelProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/LocalClientServerChannelProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.rop.client.LocalClientServerChannelProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.rop.client.LocalClientServerChannelProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.LocalClientServerChannelProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.LocalClientServerChannelProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/LocalConnectionProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/LocalConnectionProvider.html
index 6087a43..4d92dc6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/LocalConnectionProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/LocalConnectionProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.rop.client.LocalConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.rop.client.LocalConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.LocalConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.LocalConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/MainCayenneClientModuleProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/MainCayenneClientModuleProvider.html
index 6ecc56f..02f4f5e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/MainCayenneClientModuleProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/class-use/MainCayenneClientModuleProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.rop.client.MainCayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.rop.client.MainCayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.MainCayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.client.MainCayenneClientModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-frame.html
index e742687..431397a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration.rop.client (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration.rop.client (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-summary.html
index bca1921..7bc532f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration.rop.client (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration.rop.client (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.configuration.rop.client (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.configuration.rop.client (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -205,6 +205,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-tree.html
index 2b1e8b6..6aefc2b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration.rop.client Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration.rop.client Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.configuration.rop.client Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.configuration.rop.client Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-use.html
index de47207..85dd4f9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/client/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.configuration.rop.client (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.configuration.rop.client (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.configuration.rop.client (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.configuration.rop.client (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -167,6 +167,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/ROPServerModule.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/ROPServerModule.html
index 840eb79..6337f15 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/ROPServerModule.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/ROPServerModule.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ROPServerModule (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ROPServerModule (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ROPServerModule (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ROPServerModule (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -336,6 +336,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/class-use/ROPServerModule.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/class-use/ROPServerModule.html
index 2655aed..d70867e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/class-use/ROPServerModule.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/class-use/ROPServerModule.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.rop.server.ROPServerModule (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.rop.server.ROPServerModule (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.server.ROPServerModule (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.rop.server.ROPServerModule (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-frame.html
index 02571b7..b84247b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration.rop.server (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration.rop.server (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-summary.html
index f493a6a..4829b14 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration.rop.server (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration.rop.server (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.configuration.rop.server (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.configuration.rop.server (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -142,6 +142,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-tree.html
index 926bbfd..2f89d04 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration.rop.server Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration.rop.server Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.configuration.rop.server Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.configuration.rop.server Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-use.html
index 1409140..49a6a48 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/rop/server/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.configuration.rop.server (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.configuration.rop.server (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.configuration.rop.server (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.configuration.rop.server (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/CayenneServerModuleProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/CayenneServerModuleProvider.html
index 4894686..ebcbab9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/CayenneServerModuleProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/CayenneServerModuleProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -199,6 +199,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataContextFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataContextFactory.html
index 992860a..fdf2e2c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataContextFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataContextFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataContextFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataContextFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataContextFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataContextFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -462,6 +462,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataDomainLoadException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataDomainLoadException.html
index 06c26af..4a94d4d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataDomainLoadException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataDomainLoadException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataDomainLoadException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataDomainLoadException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataDomainLoadException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataDomainLoadException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -375,6 +375,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataDomainProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataDomainProvider.html
index 7ff4513..fa10349 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataDomainProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataDomainProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -527,6 +527,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataNodeFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataNodeFactory.html
index 666413e..16fbff3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataNodeFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataNodeFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -232,6 +232,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataSourceFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataSourceFactory.html
index ec17cca..c59ae5c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataSourceFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DataSourceFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -236,6 +236,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DbAdapterDetector.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DbAdapterDetector.html
index dc88156..568f4e3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DbAdapterDetector.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DbAdapterDetector.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DbAdapterDetector (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DbAdapterDetector (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DbAdapterDetector (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DbAdapterDetector (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -102,7 +102,7 @@
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../org/apache/cayenne/dba/db2/DB2Sniffer.html" title="class in org.apache.cayenne.dba.db2">DB2Sniffer</a>, <a href="../../../../../org/apache/cayenne/dba/derby/DerbySniffer.html" title="class in org.apache.cayenne.dba.derby">DerbySniffer</a>, <a href="../../../../../org/apache/cayenne/dba/firebird/FirebirdSniffer.html" title="class in org.apache.cayenne.dba.firebird">FirebirdSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/frontbase/FrontBaseSniffer.html" title="class in org.apache.cayenne.dba.frontbase">FrontBaseSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/h2/H2Sniffer.html" title="class in org.apache.cayenne.dba.h2">H2Sniffer</a>, <a href="../../../../../org/apache/cayenne/dba/hsqldb/HSQLDBSniffer.html" title="class in org.apache.cayenne.dba.hsqldb">HSQLDBSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/ingres/IngresSniffer.html" title="class in org.apache.cayenne.dba.ingres">IngresSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/mysql/MySQLSniffer.html" title="class in org.apache.cayenne.dba.mysql">MySQLSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/openbase/OpenBaseSniffer.html" title="class in org.apache.cayenne.dba.openbase">OpenBaseSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/oracle/OracleSniffer.html" title="class in org.apache.cayenne.dba.oracle">OracleSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/postgres/PostgresSniffer.html" title="class in org.apache.cayenne.dba.postgres">PostgresSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/sqlite/SQLiteSniffer.html" title="class in org.apache.cayenne.dba.sqlite">SQLiteSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/sqlserver/SQLServerSniffer.html" title="class in org.apache.cayenne.dba.sqlserver">SQLServerSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/sybase/SybaseSniffer.html" title="class in org.apache.cayenne.dba.sybase">SybaseSniffer</a></dd>
+<dd><a href="../../../../../org/apache/cayenne/dba/db2/DB2Sniffer.html" title="class in org.apache.cayenne.dba.db2">DB2Sniffer</a>, <a href="../../../../../org/apache/cayenne/dba/derby/DerbySniffer.html" title="class in org.apache.cayenne.dba.derby">DerbySniffer</a>, <a href="../../../../../org/apache/cayenne/dba/firebird/FirebirdSniffer.html" title="class in org.apache.cayenne.dba.firebird">FirebirdSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/frontbase/FrontBaseSniffer.html" title="class in org.apache.cayenne.dba.frontbase">FrontBaseSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/h2/H2Sniffer.html" title="class in org.apache.cayenne.dba.h2">H2Sniffer</a>, <a href="../../../../../org/apache/cayenne/dba/hsqldb/HSQLDBSniffer.html" title="class in org.apache.cayenne.dba.hsqldb">HSQLDBSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/ingres/IngresSniffer.html" title="class in org.apache.cayenne.dba.ingres">IngresSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb">MariaDBSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/mysql/MySQLSniffer.html" title="class in org.apache.cayenne.dba.mysql">MySQLSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/openbase/OpenBaseSniffer.html" title="class in org.apache.cayenne.dba.openbase">OpenBaseSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/oracle/OracleSniffer.html" title="class in org.apache.cayenne.dba.oracle">OracleSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/postgres/PostgresSniffer.html" title="class in org.apache.cayenne.dba.postgres">PostgresSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/sqlite/SQLiteSniffer.html" title="class in org.apache.cayenne.dba.sqlite">SQLiteSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/sqlserver/SQLServerSniffer.html" title="class in org.apache.cayenne.dba.sqlserver">SQLServerSniffer</a>, <a href="../../../../../org/apache/cayenne/dba/sybase/SybaseSniffer.html" title="class in org.apache.cayenne.dba.sybase">SybaseSniffer</a></dd>
 </dl>
 <hr>
 <br>
@@ -241,6 +241,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DbAdapterFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DbAdapterFactory.html
index 349f7a8..5e09128 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DbAdapterFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DbAdapterFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -238,6 +238,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DefaultDataNodeFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DefaultDataNodeFactory.html
index 8b63511..09328ff 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DefaultDataNodeFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DefaultDataNodeFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultDataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultDataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultDataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultDataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -424,6 +424,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DefaultDbAdapterFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DefaultDbAdapterFactory.html
index 87866f1..10ea10a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DefaultDbAdapterFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DefaultDbAdapterFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultDbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultDbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultDbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultDbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -413,6 +413,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DelegatingDataSourceFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DelegatingDataSourceFactory.html
index 1552603..fc1d898 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DelegatingDataSourceFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DelegatingDataSourceFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DelegatingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DelegatingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DelegatingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DelegatingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -419,6 +419,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DomainDataChannelProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DomainDataChannelProvider.html
index ec6a90a..4b6fe8b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DomainDataChannelProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/DomainDataChannelProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DomainDataChannelProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DomainDataChannelProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DomainDataChannelProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DomainDataChannelProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -319,6 +319,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/JNDIDataSourceFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/JNDIDataSourceFactory.html
index 5521139..0cd87d2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/JNDIDataSourceFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/JNDIDataSourceFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>JNDIDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>JNDIDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JNDIDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="JNDIDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/MainCayenneServerModuleProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/MainCayenneServerModuleProvider.html
index 107fca7..e87389f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/MainCayenneServerModuleProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/MainCayenneServerModuleProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MainCayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MainCayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MainCayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MainCayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/PropertyDataSourceFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/PropertyDataSourceFactory.html
index 300680e..28b905b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/PropertyDataSourceFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/PropertyDataSourceFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PropertyDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PropertyDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PropertyDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PropertyDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -371,6 +371,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/ServerModule.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/ServerModule.html
index d2601b7..b8630ee 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/ServerModule.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/ServerModule.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ServerModule (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ServerModule (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ServerModule (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ServerModule (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -632,6 +632,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/ServerRuntime.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/ServerRuntime.html
index faf44a2..6fd8840 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/ServerRuntime.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/ServerRuntime.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ServerRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ServerRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ServerRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ServerRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -511,6 +511,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.html
index 0757e71..741522a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ServerRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ServerRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ServerRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ServerRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -593,6 +593,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/XMLPoolingDataSourceFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/XMLPoolingDataSourceFactory.html
index f60af12..3a63047 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/XMLPoolingDataSourceFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/XMLPoolingDataSourceFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>XMLPoolingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>XMLPoolingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="XMLPoolingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="XMLPoolingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -293,6 +293,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/CayenneServerModuleProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/CayenneServerModuleProvider.html
index 29a0cd6..3761b40 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/CayenneServerModuleProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/CayenneServerModuleProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.server.CayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.server.CayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.server.CayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.server.CayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataContextFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataContextFactory.html
index 18734d5..80d7d19 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataContextFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataContextFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.server.DataContextFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.server.DataContextFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.DataContextFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.DataContextFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataDomainLoadException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataDomainLoadException.html
index 9e55ccd..74be6fe 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataDomainLoadException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataDomainLoadException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.server.DataDomainLoadException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.server.DataDomainLoadException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.DataDomainLoadException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.DataDomainLoadException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataDomainProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataDomainProvider.html
index 4021c95..73f2e3c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataDomainProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataDomainProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.server.DataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.server.DataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.DataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.DataDomainProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataNodeFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataNodeFactory.html
index 5ea0606..3f4b792 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataNodeFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataNodeFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.server.DataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.server.DataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.server.DataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.server.DataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -174,6 +174,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataSourceFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataSourceFactory.html
index 34ea472..b4b8aaa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataSourceFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DataSourceFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.server.DataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.server.DataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.server.DataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.server.DataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -210,6 +210,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DbAdapterDetector.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DbAdapterDetector.html
index 940c975..685a9fc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DbAdapterDetector.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DbAdapterDetector.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.server.DbAdapterDetector (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.server.DbAdapterDetector (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.server.DbAdapterDetector (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.server.DbAdapterDetector (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -124,40 +124,44 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.cayenne.dba.mariadb">org.apache.cayenne.dba.mariadb</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.mysql">org.apache.cayenne.dba.mysql</a></td>
 <td class="colLast">
 <div class="block">MySQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.openbase">org.apache.cayenne.dba.openbase</a></td>
 <td class="colLast">
 <div class="block">OpenBase DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.oracle">org.apache.cayenne.dba.oracle</a></td>
 <td class="colLast">
 <div class="block">Oracle DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.postgres">org.apache.cayenne.dba.postgres</a></td>
 <td class="colLast">
 <div class="block">PostgreSQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sqlite">org.apache.cayenne.dba.sqlite</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sqlserver">org.apache.cayenne.dba.sqlserver</a></td>
 <td class="colLast">
 <div class="block">MS SQLServer DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sybase">org.apache.cayenne.dba.sybase</a></td>
 <td class="colLast">
 <div class="block">Sybase DbAdapter.</div>
@@ -345,6 +349,24 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.cayenne.dba.mariadb">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/cayenne/configuration/server/DbAdapterDetector.html" title="interface in org.apache.cayenne.configuration.server">DbAdapterDetector</a> in <a href="../../../../../../org/apache/cayenne/dba/mariadb/package-summary.html">org.apache.cayenne.dba.mariadb</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/cayenne/dba/mariadb/package-summary.html">org.apache.cayenne.dba.mariadb</a> that implement <a href="../../../../../../org/apache/cayenne/configuration/server/DbAdapterDetector.html" title="interface in org.apache.cayenne.configuration.server">DbAdapterDetector</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb">MariaDBSniffer</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.cayenne.dba.mysql">
 <!--   -->
 </a>
@@ -532,6 +554,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DbAdapterFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DbAdapterFactory.html
index bf30125..d4c2339 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DbAdapterFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DbAdapterFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.server.DbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.server.DbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.server.DbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.server.DbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DefaultDataNodeFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DefaultDataNodeFactory.html
index 6377248..a784841 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DefaultDataNodeFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DefaultDataNodeFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.server.DefaultDataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.server.DefaultDataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.DefaultDataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.DefaultDataNodeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DefaultDbAdapterFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DefaultDbAdapterFactory.html
index 2993bff..02d9675 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DefaultDbAdapterFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DefaultDbAdapterFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.server.DefaultDbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.server.DefaultDbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.DefaultDbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.DefaultDbAdapterFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DelegatingDataSourceFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DelegatingDataSourceFactory.html
index 4e01f9b..f18db04 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DelegatingDataSourceFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DelegatingDataSourceFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.server.DelegatingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.server.DelegatingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.DelegatingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.DelegatingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DomainDataChannelProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DomainDataChannelProvider.html
index b565b97..a6dcf5f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DomainDataChannelProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/DomainDataChannelProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.server.DomainDataChannelProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.server.DomainDataChannelProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.DomainDataChannelProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.DomainDataChannelProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/JNDIDataSourceFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/JNDIDataSourceFactory.html
index e7dfbbe..b3c2662 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/JNDIDataSourceFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/JNDIDataSourceFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.server.JNDIDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.server.JNDIDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.JNDIDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.JNDIDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/MainCayenneServerModuleProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/MainCayenneServerModuleProvider.html
index 3c88893..22546b0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/MainCayenneServerModuleProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/MainCayenneServerModuleProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.server.MainCayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.server.MainCayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.MainCayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.MainCayenneServerModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/PropertyDataSourceFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/PropertyDataSourceFactory.html
index 0454eed..f712bb5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/PropertyDataSourceFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/PropertyDataSourceFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.server.PropertyDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.server.PropertyDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.PropertyDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.PropertyDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/ServerModule.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/ServerModule.html
index 8b44a36..c718fe6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/ServerModule.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/ServerModule.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.server.ServerModule (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.server.ServerModule (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.ServerModule (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.ServerModule (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/ServerRuntime.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/ServerRuntime.html
index ba3f1e4..f80093b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/ServerRuntime.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/ServerRuntime.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.server.ServerRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.server.ServerRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.ServerRuntime (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.ServerRuntime (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/ServerRuntimeBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/ServerRuntimeBuilder.html
index 5007c78..ac1db5b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/ServerRuntimeBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/ServerRuntimeBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.server.ServerRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.server.ServerRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.ServerRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.ServerRuntimeBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -266,6 +266,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/XMLPoolingDataSourceFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/XMLPoolingDataSourceFactory.html
index d8fd7b3..2b005e5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/XMLPoolingDataSourceFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/class-use/XMLPoolingDataSourceFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.server.XMLPoolingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.server.XMLPoolingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.XMLPoolingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.server.XMLPoolingDataSourceFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-frame.html
index 5ba1b16..808344f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration.server (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration.server (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-summary.html
index cf4ac59..e334e48 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration.server (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration.server (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.configuration.server (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.configuration.server (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -268,6 +268,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-tree.html
index a9c702e..836b8e8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration.server Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration.server Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.configuration.server Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.configuration.server Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -183,6 +183,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-use.html
index fb8e6ff..1766085 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/server/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.configuration.server (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.configuration.server (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.configuration.server (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.configuration.server (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -128,40 +128,44 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.cayenne.dba.mariadb">org.apache.cayenne.dba.mariadb</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.mysql">org.apache.cayenne.dba.mysql</a></td>
 <td class="colLast">
 <div class="block">MySQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.openbase">org.apache.cayenne.dba.openbase</a></td>
 <td class="colLast">
 <div class="block">OpenBase DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.oracle">org.apache.cayenne.dba.oracle</a></td>
 <td class="colLast">
 <div class="block">Oracle DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.postgres">org.apache.cayenne.dba.postgres</a></td>
 <td class="colLast">
 <div class="block">PostgreSQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sqlite">org.apache.cayenne.dba.sqlite</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sqlserver">org.apache.cayenne.dba.sqlserver</a></td>
 <td class="colLast">
 <div class="block">MS SQLServer DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sybase">org.apache.cayenne.dba.sybase</a></td>
 <td class="colLast">
 <div class="block">Sybase DbAdapter.</div>
@@ -351,6 +355,23 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.cayenne.dba.mariadb">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/cayenne/configuration/server/package-summary.html">org.apache.cayenne.configuration.server</a> used by <a href="../../../../../org/apache/cayenne/dba/mariadb/package-summary.html">org.apache.cayenne.dba.mariadb</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/cayenne/configuration/server/class-use/DbAdapterDetector.html#org.apache.cayenne.dba.mariadb">DbAdapterDetector</a>
+<div class="block">A factory interface providing DbAdapter based on JDBC metadata.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.cayenne.dba.mysql">
 <!--   -->
 </a>
@@ -519,6 +540,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/CayenneFilter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/CayenneFilter.html
index 5f22e23..590430b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/CayenneFilter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/CayenneFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CayenneFilter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CayenneFilter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CayenneFilter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CayenneFilter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -421,6 +421,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/RequestHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/RequestHandler.html
index 84cbfd5..49f7100 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/RequestHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/RequestHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>RequestHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>RequestHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="RequestHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="RequestHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -245,6 +245,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/SessionContextRequestHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/SessionContextRequestHandler.html
index 392393b..c9114cf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/SessionContextRequestHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/SessionContextRequestHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SessionContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SessionContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SessionContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SessionContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -312,6 +312,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/StatelessContextRequestHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/StatelessContextRequestHandler.html
index db83851..ea23f7b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/StatelessContextRequestHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/StatelessContextRequestHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>StatelessContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>StatelessContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StatelessContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="StatelessContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -321,6 +321,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/WebConfiguration.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/WebConfiguration.html
index 6740373..1a924a9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/WebConfiguration.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/WebConfiguration.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>WebConfiguration (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>WebConfiguration (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="WebConfiguration (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="WebConfiguration (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -355,6 +355,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/WebModule.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/WebModule.html
index 5d7c8ee..c86c292 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/WebModule.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/WebModule.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>WebModule (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>WebModule (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="WebModule (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="WebModule (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -281,6 +281,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/WebUtil.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/WebUtil.html
index 1857de1..95c6f7a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/WebUtil.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/WebUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>WebUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>WebUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="WebUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="WebUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -301,6 +301,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/CayenneFilter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/CayenneFilter.html
index 6320e6d..ffb0b86 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/CayenneFilter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/CayenneFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.web.CayenneFilter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.web.CayenneFilter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.web.CayenneFilter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.web.CayenneFilter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/RequestHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/RequestHandler.html
index 6b403d6..52a559b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/RequestHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/RequestHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.configuration.web.RequestHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.configuration.web.RequestHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.configuration.web.RequestHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.configuration.web.RequestHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -171,6 +171,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/SessionContextRequestHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/SessionContextRequestHandler.html
index ec33a05..c4cd63e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/SessionContextRequestHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/SessionContextRequestHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.web.SessionContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.web.SessionContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.web.SessionContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.web.SessionContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/StatelessContextRequestHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/StatelessContextRequestHandler.html
index bb0cf2f..b2bc6d5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/StatelessContextRequestHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/StatelessContextRequestHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.web.StatelessContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.web.StatelessContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.web.StatelessContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.web.StatelessContextRequestHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/WebConfiguration.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/WebConfiguration.html
index 711f348..3ef2f92 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/WebConfiguration.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/WebConfiguration.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.web.WebConfiguration (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.web.WebConfiguration (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.web.WebConfiguration (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.web.WebConfiguration (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/WebModule.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/WebModule.html
index 193bd3a..35f139b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/WebModule.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/WebModule.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.web.WebModule (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.web.WebModule (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.web.WebModule (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.web.WebModule (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/WebUtil.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/WebUtil.html
index 2b5d8fa..ea86f3a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/WebUtil.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/class-use/WebUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.configuration.web.WebUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.configuration.web.WebUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.configuration.web.WebUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.configuration.web.WebUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-frame.html
index 832872a..b7a9410 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration.web (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration.web (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-summary.html
index d17af90..14a957d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration.web (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration.web (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.configuration.web (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.configuration.web (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -191,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-tree.html
index 16f6556..acec42e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.configuration.web Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.configuration.web Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.configuration.web Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.configuration.web Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -143,6 +143,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-use.html
index cebf7fa..0c9b386 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/configuration/web/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.configuration.web (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.configuration.web (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.configuration.web (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.configuration.web (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -157,6 +157,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/DataSourceInfo.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/DataSourceInfo.html
index 612de17..e10ad40 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/DataSourceInfo.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/DataSourceInfo.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:10 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataSourceInfo (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataSourceInfo (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataSourceInfo (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataSourceInfo (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1060,6 +1060,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/class-use/DataSourceInfo.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/class-use/DataSourceInfo.html
index bf1e2d4..2655cd9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/class-use/DataSourceInfo.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/class-use/DataSourceInfo.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.conn.DataSourceInfo (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.conn.DataSourceInfo (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.conn.DataSourceInfo (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.conn.DataSourceInfo (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -275,6 +275,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-frame.html
index e73f86a..8a56ba3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.conn (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.conn (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-summary.html
index 74011d0..d81caa7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.conn (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.conn (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.conn (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.conn (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -141,6 +141,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-tree.html
index a062c6d..876e99f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.conn Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.conn Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.conn Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.conn Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-use.html
index 9ef1d10..5626266 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/conn/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.conn (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.conn (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.conn (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.conn (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -221,6 +221,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/BadValidationQueryException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/BadValidationQueryException.html
index 6789775..f020c67 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/BadValidationQueryException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/BadValidationQueryException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BadValidationQueryException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BadValidationQueryException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BadValidationQueryException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BadValidationQueryException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -296,6 +296,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/DataSourceBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/DataSourceBuilder.html
index ccc67c4..2ce1805 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/DataSourceBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/DataSourceBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -327,6 +327,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/DriverDataSource.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/DriverDataSource.html
index 1f9d65d..5ec9421 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/DriverDataSource.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/DriverDataSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DriverDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DriverDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DriverDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DriverDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -753,6 +753,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/ManagedPoolingDataSource.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/ManagedPoolingDataSource.html
index e005052..2d22f22 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/ManagedPoolingDataSource.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/ManagedPoolingDataSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ManagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ManagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ManagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ManagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -501,6 +501,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolAwareConnection.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolAwareConnection.html
index c43a0c8..cc2ec37 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolAwareConnection.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolAwareConnection.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PoolAwareConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PoolAwareConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PoolAwareConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PoolAwareConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1408,6 +1408,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolingDataSource.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolingDataSource.html
index b16174f..ac4409c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolingDataSource.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolingDataSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -221,6 +221,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolingDataSourceBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolingDataSourceBuilder.html
index a5b4e0e..356cc6e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolingDataSourceBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolingDataSourceBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PoolingDataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PoolingDataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PoolingDataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PoolingDataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -332,6 +332,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolingDataSourceParameters.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolingDataSourceParameters.html
index 17aa797..3138235 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolingDataSourceParameters.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/PoolingDataSourceParameters.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PoolingDataSourceParameters (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PoolingDataSourceParameters (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PoolingDataSourceParameters (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PoolingDataSourceParameters (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -364,6 +364,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/UnmanagedPoolingDataSource.ConnectionUnavailableException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/UnmanagedPoolingDataSource.ConnectionUnavailableException.html
index c460632..70d935f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/UnmanagedPoolingDataSource.ConnectionUnavailableException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/UnmanagedPoolingDataSource.ConnectionUnavailableException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>UnmanagedPoolingDataSource.ConnectionUnavailableException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>UnmanagedPoolingDataSource.ConnectionUnavailableException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="UnmanagedPoolingDataSource.ConnectionUnavailableException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="UnmanagedPoolingDataSource.ConnectionUnavailableException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -284,6 +284,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/UnmanagedPoolingDataSource.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/UnmanagedPoolingDataSource.html
index e7364ed..c5bf1a6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/UnmanagedPoolingDataSource.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/UnmanagedPoolingDataSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>UnmanagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>UnmanagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="UnmanagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="UnmanagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -534,6 +534,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/BadValidationQueryException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/BadValidationQueryException.html
index 383e339..6175519 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/BadValidationQueryException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/BadValidationQueryException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.datasource.BadValidationQueryException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.datasource.BadValidationQueryException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.datasource.BadValidationQueryException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.datasource.BadValidationQueryException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/DataSourceBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/DataSourceBuilder.html
index f628093..adf8dd2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/DataSourceBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/DataSourceBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.datasource.DataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.datasource.DataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.datasource.DataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.datasource.DataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -188,6 +188,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/DriverDataSource.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/DriverDataSource.html
index 9c63782..03f5641 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/DriverDataSource.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/DriverDataSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.datasource.DriverDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.datasource.DriverDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.datasource.DriverDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.datasource.DriverDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/ManagedPoolingDataSource.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/ManagedPoolingDataSource.html
index b0f901f..7b8ab62 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/ManagedPoolingDataSource.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/ManagedPoolingDataSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.datasource.ManagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.datasource.ManagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.datasource.ManagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.datasource.ManagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolAwareConnection.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolAwareConnection.html
index 095e86d..bf84e69 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolAwareConnection.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolAwareConnection.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.datasource.PoolAwareConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.datasource.PoolAwareConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.datasource.PoolAwareConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.datasource.PoolAwareConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolingDataSource.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolingDataSource.html
index be5801e..c9d6d69 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolingDataSource.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolingDataSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.datasource.PoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.datasource.PoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.datasource.PoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.datasource.PoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolingDataSourceBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolingDataSourceBuilder.html
index a645f4e..feefbe7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolingDataSourceBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolingDataSourceBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.datasource.PoolingDataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.datasource.PoolingDataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.datasource.PoolingDataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.datasource.PoolingDataSourceBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -180,6 +180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolingDataSourceParameters.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolingDataSourceParameters.html
index e13fe41..5af637b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolingDataSourceParameters.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/PoolingDataSourceParameters.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.datasource.PoolingDataSourceParameters (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.datasource.PoolingDataSourceParameters (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.datasource.PoolingDataSourceParameters (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.datasource.PoolingDataSourceParameters (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/UnmanagedPoolingDataSource.ConnectionUnavailableException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/UnmanagedPoolingDataSource.ConnectionUnavailableException.html
index fca9c0e..c2baef4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/UnmanagedPoolingDataSource.ConnectionUnavailableException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/UnmanagedPoolingDataSource.ConnectionUnavailableException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.datasource.UnmanagedPoolingDataSource.ConnectionUnavailableException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.datasource.UnmanagedPoolingDataSource.ConnectionUnavailableException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.datasource.UnmanagedPoolingDataSource.ConnectionUnavailableException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.datasource.UnmanagedPoolingDataSource.ConnectionUnavailableException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/UnmanagedPoolingDataSource.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/UnmanagedPoolingDataSource.html
index 89373df..7d6a8aa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/UnmanagedPoolingDataSource.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/class-use/UnmanagedPoolingDataSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.datasource.UnmanagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.datasource.UnmanagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.datasource.UnmanagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.datasource.UnmanagedPoolingDataSource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -168,6 +168,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-frame.html
index ede2aa6..45bdcfd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.datasource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.datasource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-summary.html
index 1373179..9727a5b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.datasource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.datasource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.datasource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.datasource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -224,6 +224,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-tree.html
index 9b06de9..f409d44 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.datasource Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.datasource Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.datasource Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.datasource Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -180,6 +180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-use.html
index 0c73de2..765bcf4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/datasource/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.datasource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.datasource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.datasource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.datasource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -178,6 +178,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/AutoAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/AutoAdapter.html
index 0dd5f19..90902d6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/AutoAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/AutoAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>AutoAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>AutoAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AutoAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="AutoAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -976,6 +976,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/DbAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/DbAdapter.html
index 4919dc3..86bcc7f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/DbAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/DbAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DbAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DbAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DbAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DbAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -727,6 +727,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/DefaultQuotingStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/DefaultQuotingStrategy.html
index 608362a..76f049d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/DefaultQuotingStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/DefaultQuotingStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultQuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultQuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultQuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultQuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -427,6 +427,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/JdbcActionBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/JdbcActionBuilder.html
index f4dc6f0..149bec1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/JdbcActionBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/JdbcActionBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>JdbcActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>JdbcActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JdbcActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="JdbcActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -417,6 +417,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/JdbcAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/JdbcAdapter.html
index d59eafb..e62f85f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/JdbcAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/JdbcAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>JdbcAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>JdbcAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JdbcAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="JdbcAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1387,6 +1387,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/JdbcPkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/JdbcPkGenerator.html
index 7cc171a..33dd150 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/JdbcPkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/JdbcPkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>JdbcPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>JdbcPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JdbcPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="JdbcPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -730,6 +730,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/PerAdapterProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/PerAdapterProvider.html
index 9fe525f..da102cb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/PerAdapterProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/PerAdapterProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PerAdapterProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PerAdapterProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PerAdapterProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PerAdapterProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/PkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/PkGenerator.html
index e322a34..d3eae66 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/PkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/PkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/QuotingStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/QuotingStrategy.html
index aeabc23..f3afbb3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/QuotingStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/QuotingStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -368,6 +368,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/TypesHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/TypesHandler.html
index 9720b7f..70e154a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/TypesHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/TypesHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TypesHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>TypesHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TypesHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="TypesHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -332,6 +332,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/TypesMapping.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/TypesMapping.html
index 93d4856..b54dd95 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/TypesMapping.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/TypesMapping.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TypesMapping (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>TypesMapping (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TypesMapping (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="TypesMapping (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1303,6 +1303,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/AutoAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/AutoAdapter.html
index 2af1280..0602e8e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/AutoAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/AutoAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.AutoAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.AutoAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.AutoAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.AutoAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/DbAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/DbAdapter.html
index c9e9f9f..f506723 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/DbAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/DbAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.dba.DbAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.dba.DbAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.dba.DbAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.dba.DbAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -158,40 +158,44 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.cayenne.dba.mariadb">org.apache.cayenne.dba.mariadb</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.mysql">org.apache.cayenne.dba.mysql</a></td>
 <td class="colLast">
 <div class="block">MySQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.openbase">org.apache.cayenne.dba.openbase</a></td>
 <td class="colLast">
 <div class="block">OpenBase DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.oracle">org.apache.cayenne.dba.oracle</a></td>
 <td class="colLast">
 <div class="block">Oracle DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.postgres">org.apache.cayenne.dba.postgres</a></td>
 <td class="colLast">
 <div class="block">PostgreSQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sqlite">org.apache.cayenne.dba.sqlite</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sqlserver">org.apache.cayenne.dba.sqlserver</a></td>
 <td class="colLast">
 <div class="block">MS SQLServer DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sybase">org.apache.cayenne.dba.sybase</a></td>
 <td class="colLast">
 <div class="block">Sybase DbAdapter.</div>
@@ -987,6 +991,24 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.cayenne.dba.mariadb">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/cayenne/dba/DbAdapter.html" title="interface in org.apache.cayenne.dba">DbAdapter</a> in <a href="../../../../../org/apache/cayenne/dba/mariadb/package-summary.html">org.apache.cayenne.dba.mariadb</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/cayenne/dba/mariadb/package-summary.html">org.apache.cayenne.dba.mariadb</a> that return <a href="../../../../../org/apache/cayenne/dba/DbAdapter.html" title="interface in org.apache.cayenne.dba">DbAdapter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/cayenne/dba/DbAdapter.html" title="interface in org.apache.cayenne.dba">DbAdapter</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MariaDBSniffer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/dba/mariadb/MariaDBSniffer.html#createAdapter-java.sql.DatabaseMetaData-">createAdapter</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/sql/DatabaseMetaData.html?is-external=true" title="class or interface in java.sql">DatabaseMetaData</a>&nbsp;md)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.cayenne.dba.mysql">
 <!--   -->
 </a>
@@ -1323,6 +1345,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/DefaultQuotingStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/DefaultQuotingStrategy.html
index c28cfbc..85557ca 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/DefaultQuotingStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/DefaultQuotingStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.DefaultQuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.DefaultQuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.DefaultQuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.DefaultQuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/JdbcActionBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/JdbcActionBuilder.html
index 145588d..871ecd8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/JdbcActionBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/JdbcActionBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.JdbcActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.JdbcActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.JdbcActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.JdbcActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -209,6 +209,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/JdbcAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/JdbcAdapter.html
index 2235573..1e6479d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/JdbcAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/JdbcAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.JdbcAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.JdbcAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.JdbcAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.JdbcAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -644,6 +644,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/JdbcPkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/JdbcPkGenerator.html
index 6d2a844..f34891a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/JdbcPkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/JdbcPkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.JdbcPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.JdbcPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.JdbcPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.JdbcPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -389,6 +389,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/PerAdapterProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/PerAdapterProvider.html
index 3d198f4..492535f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/PerAdapterProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/PerAdapterProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.PerAdapterProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.PerAdapterProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.PerAdapterProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.PerAdapterProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/PkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/PkGenerator.html
index 5bb0214..3c40a67 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/PkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/PkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.dba.PkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.dba.PkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.dba.PkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.dba.PkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -622,6 +622,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/QuotingStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/QuotingStrategy.html
index ad00b86..f261041 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/QuotingStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/QuotingStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.dba.QuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.dba.QuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.dba.QuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.dba.QuotingStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -334,6 +334,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/TypesHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/TypesHandler.html
index 88e2d57..311c5cd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/TypesHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/TypesHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.TypesHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.TypesHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.TypesHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.TypesHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -176,6 +176,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/TypesMapping.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/TypesMapping.html
index 2804021..128e1e5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/TypesMapping.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/class-use/TypesMapping.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.TypesMapping (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.TypesMapping (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.TypesMapping (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.TypesMapping (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2ActionBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2ActionBuilder.html
index fff3d7e..7ad0aa3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2ActionBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2ActionBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DB2ActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DB2ActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DB2ActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DB2ActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -279,6 +279,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2Adapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2Adapter.html
index fc03bfd..c3d7db8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2Adapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2Adapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DB2Adapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DB2Adapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DB2Adapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DB2Adapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -512,6 +512,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2EJBQLConditionTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2EJBQLConditionTranslator.html
index f304134..85d61b3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2EJBQLConditionTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2EJBQLConditionTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DB2EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DB2EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DB2EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DB2EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -315,6 +315,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2EJBQLTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2EJBQLTranslatorFactory.html
index c868441..786215f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2EJBQLTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2EJBQLTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DB2EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DB2EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DB2EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DB2EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -309,6 +309,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2PkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2PkGenerator.html
index f7cde06..80ff3b7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2PkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2PkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DB2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DB2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DB2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DB2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -377,6 +377,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2QualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2QualifierTranslator.html
index 3a88fd0..dd1f6e5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2QualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2QualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DB2QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DB2QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DB2QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DB2QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -475,6 +475,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2Sniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2Sniffer.html
index ec27aff..a065196 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2Sniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/DB2Sniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DB2Sniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DB2Sniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DB2Sniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DB2Sniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2ActionBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2ActionBuilder.html
index 714e819..b1e08fc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2ActionBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2ActionBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.db2.DB2ActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.db2.DB2ActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.db2.DB2ActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.db2.DB2ActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2Adapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2Adapter.html
index 2ef1f3d..c608f6b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2Adapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2Adapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.db2.DB2Adapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.db2.DB2Adapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.db2.DB2Adapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.db2.DB2Adapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2EJBQLConditionTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2EJBQLConditionTranslator.html
index 93efb8e..6c4954d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2EJBQLConditionTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2EJBQLConditionTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.db2.DB2EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.db2.DB2EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.db2.DB2EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.db2.DB2EJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2EJBQLTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2EJBQLTranslatorFactory.html
index 831e139..4247407 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2EJBQLTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2EJBQLTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.db2.DB2EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.db2.DB2EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.db2.DB2EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.db2.DB2EJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2PkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2PkGenerator.html
index c8addf0..e251a18 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2PkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2PkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.db2.DB2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.db2.DB2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.db2.DB2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.db2.DB2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2QualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2QualifierTranslator.html
index a0baeb9..4ab8821 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2QualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2QualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.db2.DB2QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.db2.DB2QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.db2.DB2QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.db2.DB2QualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2Sniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2Sniffer.html
index 81764c7..c79f367 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2Sniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/class-use/DB2Sniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.db2.DB2Sniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.db2.DB2Sniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.db2.DB2Sniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.db2.DB2Sniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-frame.html
index 9471dae..1579761 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.db2 (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.db2 (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-summary.html
index 3e517e5..ea1f38b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.db2 (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.db2 (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.db2 (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.db2 (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -176,6 +176,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-tree.html
index c9ecb95..ebbec5c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.db2 Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.db2 Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.db2 Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.db2 Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -180,6 +180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-use.html
index b700bfe..484ab4a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/db2/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.dba.db2 (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.dba.db2 (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.dba.db2 (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.dba.db2 (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyAdapter.html
index 65d7bab..866d02c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DerbyAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DerbyAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DerbyAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DerbyAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -490,6 +490,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyEJBQLConditionTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyEJBQLConditionTranslator.html
index 7d7fd31..5b465a8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyEJBQLConditionTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyEJBQLConditionTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DerbyEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DerbyEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DerbyEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DerbyEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -349,6 +349,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyEJBQLTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyEJBQLTranslatorFactory.html
index b2af4b9..97fbcee 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyEJBQLTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyEJBQLTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DerbyEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DerbyEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DerbyEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DerbyEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -309,6 +309,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyPkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyPkGenerator.html
index 4331cb0..776cc1b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyPkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyPkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DerbyPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DerbyPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DerbyPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DerbyPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -364,6 +364,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyQualifierTranslator.html
index 4c211e6..83aebe3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbyQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DerbyQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DerbyQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DerbyQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DerbyQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -473,6 +473,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbySniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbySniffer.html
index 7f29536..64d7332 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbySniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/DerbySniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DerbySniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DerbySniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DerbySniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DerbySniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -329,6 +329,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyAdapter.html
index 7173ee3..42882f4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.derby.DerbyAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.derby.DerbyAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.derby.DerbyAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.derby.DerbyAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyEJBQLConditionTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyEJBQLConditionTranslator.html
index d8bf596..28bfbae 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyEJBQLConditionTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyEJBQLConditionTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.derby.DerbyEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.derby.DerbyEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.derby.DerbyEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.derby.DerbyEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyEJBQLTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyEJBQLTranslatorFactory.html
index f936e55..3acce52 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyEJBQLTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyEJBQLTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.derby.DerbyEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.derby.DerbyEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.derby.DerbyEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.derby.DerbyEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyPkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyPkGenerator.html
index 4d18a71..27269fb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyPkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyPkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.derby.DerbyPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.derby.DerbyPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.derby.DerbyPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.derby.DerbyPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyQualifierTranslator.html
index 9a177f4..2d28a15 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbyQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.derby.DerbyQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.derby.DerbyQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.derby.DerbyQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.derby.DerbyQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbySniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbySniffer.html
index 1ac5617..6d43c62 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbySniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/class-use/DerbySniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.derby.DerbySniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.derby.DerbySniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.derby.DerbySniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.derby.DerbySniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-frame.html
index b2262a6..90d2c9b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.derby (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.derby (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-summary.html
index bd7e0aa..a12df72 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.derby (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.derby (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.derby (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.derby (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -175,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-tree.html
index a3bd959..8c3a7f1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.derby Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.derby Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.derby Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.derby Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -175,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-use.html
index 9058386..28068a8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/derby/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.dba.derby (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.dba.derby (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.dba.derby (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.dba.derby (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdAdapter.html
index 3f17a1b..bada27f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FirebirdAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FirebirdAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FirebirdAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FirebirdAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -410,6 +410,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdEJBQLConditionTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdEJBQLConditionTranslator.html
index 4217b9b..7df227c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdEJBQLConditionTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdEJBQLConditionTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FirebirdEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FirebirdEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FirebirdEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FirebirdEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -450,6 +450,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdEJBQLTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdEJBQLTranslatorFactory.html
index 62c898d..03490dc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdEJBQLTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdEJBQLTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FirebirdEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FirebirdEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FirebirdEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FirebirdEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -309,6 +309,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdQualifierTranslator.html
index 42e2500..ce7d987 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FirebirdQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FirebirdQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FirebirdQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FirebirdQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -470,6 +470,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdSniffer.html
index 2638dc4..84ef43e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/FirebirdSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FirebirdSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FirebirdSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FirebirdSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FirebirdSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -324,6 +324,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdAdapter.html
index 160bac6..ed2eec2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.firebird.FirebirdAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.firebird.FirebirdAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.firebird.FirebirdAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.firebird.FirebirdAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdEJBQLConditionTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdEJBQLConditionTranslator.html
index a581ee5..489fb80 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdEJBQLConditionTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdEJBQLConditionTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.firebird.FirebirdEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.firebird.FirebirdEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.firebird.FirebirdEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.firebird.FirebirdEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdEJBQLTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdEJBQLTranslatorFactory.html
index 40049c9..50159ea 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdEJBQLTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdEJBQLTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.firebird.FirebirdEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.firebird.FirebirdEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.firebird.FirebirdEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.firebird.FirebirdEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdQualifierTranslator.html
index 7ad4ffa..b8e69ab 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.firebird.FirebirdQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.firebird.FirebirdQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.firebird.FirebirdQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.firebird.FirebirdQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdSniffer.html
index bafd9ac..9d6dc21 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/class-use/FirebirdSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.firebird.FirebirdSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.firebird.FirebirdSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.firebird.FirebirdSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.firebird.FirebirdSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-frame.html
index 9a72087..f91cfae 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.firebird (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.firebird (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-summary.html
index 3bbb5d2..5124738 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.firebird (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.firebird (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.firebird (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.firebird (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-tree.html
index 363f032..70d702b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.firebird Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.firebird Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.firebird Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.firebird Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-use.html
index f518a94..e0a78f4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/firebird/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.dba.firebird (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.dba.firebird (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.dba.firebird (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.dba.firebird (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBaseAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBaseAdapter.html
index b0350e3..8ee49ea 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBaseAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBaseAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FrontBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FrontBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FrontBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FrontBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -479,6 +479,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBasePkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBasePkGenerator.html
index 6e3df94..5365eb9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBasePkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBasePkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FrontBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FrontBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FrontBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FrontBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -537,6 +537,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBaseQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBaseQualifierTranslator.html
index 01fa1e5..6908724 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBaseQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBaseQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FrontBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FrontBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FrontBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FrontBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -415,6 +415,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBaseSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBaseSniffer.html
index 4b84bfc..bc020aa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBaseSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/FrontBaseSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FrontBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FrontBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FrontBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FrontBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBaseAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBaseAdapter.html
index 0d2977f..bcd62ed 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBaseAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBaseAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.frontbase.FrontBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.frontbase.FrontBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.frontbase.FrontBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.frontbase.FrontBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBasePkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBasePkGenerator.html
index f08d168..29f2961 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBasePkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBasePkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.frontbase.FrontBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.frontbase.FrontBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.frontbase.FrontBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.frontbase.FrontBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBaseQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBaseQualifierTranslator.html
index c1babdf..f834161 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBaseQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBaseQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.frontbase.FrontBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.frontbase.FrontBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.frontbase.FrontBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.frontbase.FrontBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBaseSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBaseSniffer.html
index d42e360..8b8f046 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBaseSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/class-use/FrontBaseSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.frontbase.FrontBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.frontbase.FrontBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.frontbase.FrontBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.frontbase.FrontBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-frame.html
index 662be92..28cdfd0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.frontbase (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.frontbase (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-summary.html
index 3e61de0..2aa1ba1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.frontbase (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.frontbase (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.frontbase (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.frontbase (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-tree.html
index 23570c2..3186b1b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.frontbase Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.frontbase Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.frontbase Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.frontbase Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -153,6 +153,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-use.html
index a771f73..9c58883 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/frontbase/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.dba.frontbase (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.dba.frontbase (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.dba.frontbase (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.dba.frontbase (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/H2Adapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/H2Adapter.html
index 404b943..f3bb97c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/H2Adapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/H2Adapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>H2Adapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>H2Adapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="H2Adapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="H2Adapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -361,6 +361,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/H2PkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/H2PkGenerator.html
index cb8abdc..9122479 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/H2PkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/H2PkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>H2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>H2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="H2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="H2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -356,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/H2Sniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/H2Sniffer.html
index 0c1d190..05c56ac 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/H2Sniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/H2Sniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>H2Sniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>H2Sniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="H2Sniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="H2Sniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/class-use/H2Adapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/class-use/H2Adapter.html
index 160b735..1f9f434 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/class-use/H2Adapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/class-use/H2Adapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.h2.H2Adapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.h2.H2Adapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.h2.H2Adapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.h2.H2Adapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/class-use/H2PkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/class-use/H2PkGenerator.html
index 08e0f2e..be1a74c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/class-use/H2PkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/class-use/H2PkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.h2.H2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.h2.H2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.h2.H2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.h2.H2PkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/class-use/H2Sniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/class-use/H2Sniffer.html
index 535b0e3..27c9be8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/class-use/H2Sniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/class-use/H2Sniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.h2.H2Sniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.h2.H2Sniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.h2.H2Sniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.h2.H2Sniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-frame.html
index 6d72d51..d7de5d1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.h2 (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.h2 (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-summary.html
index 367ab9e..5720e97 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.h2 (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.h2 (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.h2 (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.h2 (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -152,6 +152,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-tree.html
index eac3a7c..f77db8b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.h2 Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.h2 Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.h2 Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.h2 Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -148,6 +148,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-use.html
index be53809..08dc3aa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/h2/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.dba.h2 (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.dba.h2 (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.dba.h2 (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.dba.h2 (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBAdapter.html
index 0fc419f..da3a712 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HSQLDBAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HSQLDBAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HSQLDBAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HSQLDBAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -617,6 +617,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBNoSchemaAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBNoSchemaAdapter.html
index 64ef1d0..64b64b7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBNoSchemaAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBNoSchemaAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HSQLDBNoSchemaAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HSQLDBNoSchemaAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HSQLDBNoSchemaAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HSQLDBNoSchemaAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -411,6 +411,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBProcedureTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBProcedureTranslator.html
index 65006b8..f068a4f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBProcedureTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBProcedureTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HSQLDBProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HSQLDBProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HSQLDBProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HSQLDBProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -307,6 +307,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBSniffer.html
index 5445d24..062dff5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLDBSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HSQLDBSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HSQLDBSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HSQLDBSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HSQLDBSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -329,6 +329,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLEJBQLConditionTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLEJBQLConditionTranslator.html
index 20b0017..20368a7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLEJBQLConditionTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLEJBQLConditionTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HSQLEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HSQLEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HSQLEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HSQLEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -307,6 +307,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLEJBQLTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLEJBQLTranslatorFactory.html
index 582b0e1..34fcc18 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLEJBQLTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLEJBQLTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HSQLEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HSQLEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HSQLEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HSQLEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -309,6 +309,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLQualifierTranslator.html
index 14700a8..1f0d048 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/HSQLQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HSQLQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HSQLQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HSQLQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HSQLQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -406,6 +406,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBAdapter.html
index f221631..53a65c7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBNoSchemaAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBNoSchemaAdapter.html
index 6c9c289..f512647 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBNoSchemaAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBNoSchemaAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBNoSchemaAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBNoSchemaAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBNoSchemaAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBNoSchemaAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBProcedureTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBProcedureTranslator.html
index 7d40b54..3e4827d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBProcedureTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBProcedureTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBProcedureTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBSniffer.html
index 685ce39..90f5900 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLDBSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.hsqldb.HSQLDBSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLEJBQLConditionTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLEJBQLConditionTranslator.html
index c18cbfb..98ff37f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLEJBQLConditionTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLEJBQLConditionTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.hsqldb.HSQLEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.hsqldb.HSQLEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.hsqldb.HSQLEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.hsqldb.HSQLEJBQLConditionTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLEJBQLTranslatorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLEJBQLTranslatorFactory.html
index 6a06cf2..bad5328 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLEJBQLTranslatorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLEJBQLTranslatorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.hsqldb.HSQLEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.hsqldb.HSQLEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.hsqldb.HSQLEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.hsqldb.HSQLEJBQLTranslatorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLQualifierTranslator.html
index f162301..ed43b6f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/class-use/HSQLQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.hsqldb.HSQLQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.hsqldb.HSQLQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.hsqldb.HSQLQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.hsqldb.HSQLQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-frame.html
index 660714d..84c6db7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.hsqldb (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.hsqldb (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-summary.html
index 7dad859..f760f45 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.hsqldb (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.hsqldb (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.hsqldb (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.hsqldb (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -181,6 +181,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-tree.html
index 4d343db..2295479 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.hsqldb Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.hsqldb Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.hsqldb Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.hsqldb Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -175,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-use.html
index 3a01aca..6a89cb6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/hsqldb/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.dba.hsqldb (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.dba.hsqldb (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.dba.hsqldb (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.dba.hsqldb (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -159,6 +159,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresActionBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresActionBuilder.html
index 3ad481f..a6d4f02 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresActionBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresActionBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IngresActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IngresActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IngresActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IngresActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -313,6 +313,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresAdapter.html
index e99762a..cfd41ab 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IngresAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IngresAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IngresAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IngresAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -522,6 +522,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresBooleanType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresBooleanType.html
index 3ab4bcb..2242728 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresBooleanType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresBooleanType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IngresBooleanType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IngresBooleanType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IngresBooleanType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IngresBooleanType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -320,6 +320,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresPkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresPkGenerator.html
index 4e87b77..4ebcdc4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresPkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresPkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IngresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IngresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IngresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IngresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -339,6 +339,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresSelectAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresSelectAction.html
index bb8fb91..122b93b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresSelectAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresSelectAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IngresSelectAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IngresSelectAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IngresSelectAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IngresSelectAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -333,6 +333,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresSelectTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresSelectTranslator.html
index 772bb6d..b52ebdf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresSelectTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresSelectTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IngresSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IngresSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IngresSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IngresSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -358,6 +358,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresSniffer.html
index 3851359..a0ba866 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/IngresSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IngresSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IngresSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IngresSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IngresSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -329,6 +329,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresActionBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresActionBuilder.html
index 027483f..65a65ee 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresActionBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresActionBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.ingres.IngresActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.ingres.IngresActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.ingres.IngresActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.ingres.IngresActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresAdapter.html
index f24f3bb..76555e9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.ingres.IngresAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.ingres.IngresAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.ingres.IngresAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.ingres.IngresAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresBooleanType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresBooleanType.html
index 28c8efe..126eb37 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresBooleanType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresBooleanType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.ingres.IngresBooleanType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.ingres.IngresBooleanType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.ingres.IngresBooleanType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.ingres.IngresBooleanType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresPkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresPkGenerator.html
index a99e286..9bc0b1c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresPkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresPkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.ingres.IngresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.ingres.IngresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.ingres.IngresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.ingres.IngresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresSelectAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresSelectAction.html
index d1cb74a..2d50ea4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresSelectAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresSelectAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.ingres.IngresSelectAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.ingres.IngresSelectAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.ingres.IngresSelectAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.ingres.IngresSelectAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresSelectTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresSelectTranslator.html
index 341a739..3e40338 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresSelectTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresSelectTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.ingres.IngresSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.ingres.IngresSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.ingres.IngresSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.ingres.IngresSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresSniffer.html
index 7e3744f..1ec0fa9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/class-use/IngresSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.ingres.IngresSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.ingres.IngresSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.ingres.IngresSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.ingres.IngresSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-frame.html
index 77ed17c..3f6add6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.ingres (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.ingres (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-summary.html
index a287ea2..8424cf3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.ingres (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.ingres (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.ingres (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.ingres (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -45,7 +45,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/cayenne/dba/hsqldb/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/cayenne/dba/mysql/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/cayenne/dba/mariadb/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/cayenne/dba/ingres/package-summary.html" target="_top">Frames</a></li>
@@ -145,7 +145,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/cayenne/dba/hsqldb/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/cayenne/dba/mysql/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/cayenne/dba/mariadb/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/cayenne/dba/ingres/package-summary.html" target="_top">Frames</a></li>
@@ -170,6 +170,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-tree.html
index 0dec942..05376f9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.ingres Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.ingres Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.ingres Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.ingres Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -45,7 +45,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/cayenne/dba/hsqldb/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/cayenne/dba/mysql/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/cayenne/dba/mariadb/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/cayenne/dba/ingres/package-tree.html" target="_top">Frames</a></li>
@@ -151,7 +151,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/cayenne/dba/hsqldb/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/cayenne/dba/mysql/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/cayenne/dba/mariadb/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/cayenne/dba/ingres/package-tree.html" target="_top">Frames</a></li>
@@ -176,6 +176,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-use.html
index 315c22a..ec4bde8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/ingres/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.dba.ingres (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.dba.ingres (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.dba.ingres (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.dba.ingres (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/MariaDBSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/MariaDBSniffer.html
new file mode 100644
index 0000000..8e9284e
--- /dev/null
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/MariaDBSniffer.html
@@ -0,0 +1,346 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MariaDBSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MariaDBSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MariaDBSniffer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" target="_top">Frames</a></li>
+<li><a href="MariaDBSniffer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.cayenne.dba.mariadb</div>
+<h2 title="Class MariaDBSniffer" class="title">Class MariaDBSniffer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.cayenne.dba.mariadb.MariaDBSniffer</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/cayenne/configuration/server/DbAdapterDetector.html" title="interface in org.apache.cayenne.configuration.server">DbAdapterDetector</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MariaDBSniffer</span>
+extends <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/cayenne/configuration/server/DbAdapterDetector.html" title="interface in org.apache.cayenne.configuration.server">DbAdapterDetector</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/dba/mariadb/MariaDBSniffer.html#DEFAULT_STORAGE_ENGINE">DEFAULT_STORAGE_ENGINE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/cayenne/di/AdhocObjectFactory.html" title="interface in org.apache.cayenne.di">AdhocObjectFactory</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/dba/mariadb/MariaDBSniffer.html#objectFactory">objectFactory</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/dba/mariadb/MariaDBSniffer.html#MariaDBSniffer-org.apache.cayenne.di.AdhocObjectFactory-">MariaDBSniffer</a></span>(<a href="../../../../../org/apache/cayenne/di/AdhocObjectFactory.html" title="interface in org.apache.cayenne.di">AdhocObjectFactory</a>&nbsp;objectFactory)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/cayenne/dba/DbAdapter.html" title="interface in org.apache.cayenne.dba">DbAdapter</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/dba/mariadb/MariaDBSniffer.html#createAdapter-java.sql.DatabaseMetaData-">createAdapter</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/sql/DatabaseMetaData.html?is-external=true" title="class or interface in java.sql">DatabaseMetaData</a>&nbsp;md)</code>
+<div class="block">Returns an instance of DbAdapter if the factory detects that it knows how to handle
+ the database or null if the database is not known to the factory, thus allowing
+ multiple factories to be chained.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="DEFAULT_STORAGE_ENGINE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DEFAULT_STORAGE_ENGINE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_STORAGE_ENGINE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.cayenne.dba.mariadb.MariaDBSniffer.DEFAULT_STORAGE_ENGINE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="objectFactory">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>objectFactory</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/cayenne/di/AdhocObjectFactory.html" title="interface in org.apache.cayenne.di">AdhocObjectFactory</a> objectFactory</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MariaDBSniffer-org.apache.cayenne.di.AdhocObjectFactory-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MariaDBSniffer</h4>
+<pre>public&nbsp;MariaDBSniffer(<a href="../../../../../org/apache/cayenne/di/AdhocObjectFactory.html" title="interface in org.apache.cayenne.di">AdhocObjectFactory</a>&nbsp;objectFactory)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="createAdapter-java.sql.DatabaseMetaData-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>createAdapter</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/cayenne/dba/DbAdapter.html" title="interface in org.apache.cayenne.dba">DbAdapter</a>&nbsp;createAdapter(<a href="https://docs.oracle.com/javase/7/docs/api/java/sql/DatabaseMetaData.html?is-external=true" title="class or interface in java.sql">DatabaseMetaData</a>&nbsp;md)
+                        throws <a href="https://docs.oracle.com/javase/7/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/cayenne/configuration/server/DbAdapterDetector.html#createAdapter-java.sql.DatabaseMetaData-">DbAdapterDetector</a></code></span></div>
+<div class="block">Returns an instance of DbAdapter if the factory detects that it knows how to handle
+ the database or null if the database is not known to the factory, thus allowing
+ multiple factories to be chained.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/cayenne/configuration/server/DbAdapterDetector.html#createAdapter-java.sql.DatabaseMetaData-">createAdapter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/cayenne/configuration/server/DbAdapterDetector.html" title="interface in org.apache.cayenne.configuration.server">DbAdapterDetector</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/7/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MariaDBSniffer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" target="_top">Frames</a></li>
+<li><a href="MariaDBSniffer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/class-use/MariaDBSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/class-use/MariaDBSniffer.html
new file mode 100644
index 0000000..9050cbb
--- /dev/null
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/class-use/MariaDBSniffer.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.cayenne.dba.mariadb.MariaDBSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.cayenne.dba.mariadb.MariaDBSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/cayenne/dba/mariadb/class-use/MariaDBSniffer.html" target="_top">Frames</a></li>
+<li><a href="MariaDBSniffer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.cayenne.dba.mariadb.MariaDBSniffer" class="title">Uses of Class<br>org.apache.cayenne.dba.mariadb.MariaDBSniffer</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.cayenne.dba.mariadb.MariaDBSniffer</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/cayenne/dba/mariadb/class-use/MariaDBSniffer.html" target="_top">Frames</a></li>
+<li><a href="MariaDBSniffer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/package-frame.html
new file mode 100644
index 0000000..3750b8c
--- /dev/null
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.cayenne.dba.mariadb (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/cayenne/dba/mariadb/package-summary.html" target="classFrame">org.apache.cayenne.dba.mariadb</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb" target="classFrame">MariaDBSniffer</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/package-summary.html
new file mode 100644
index 0000000..001f5ec
--- /dev/null
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/package-summary.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.cayenne.dba.mariadb (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.cayenne.dba.mariadb (cayenne-doc: Cayenne Documentation 4.0.2 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/cayenne/dba/ingres/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/cayenne/dba/mysql/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/cayenne/dba/mariadb/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.cayenne.dba.mariadb</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb">MariaDBSniffer</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/cayenne/dba/ingres/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/cayenne/dba/mysql/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/cayenne/dba/mariadb/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/package-tree.html
new file mode 100644
index 0000000..1fa5296
--- /dev/null
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.cayenne.dba.mariadb Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.cayenne.dba.mariadb Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/cayenne/dba/ingres/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/cayenne/dba/mysql/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/cayenne/dba/mariadb/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.cayenne.dba.mariadb</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.cayenne.dba.mariadb.<a href="../../../../../org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb"><span class="typeNameLink">MariaDBSniffer</span></a> (implements org.apache.cayenne.configuration.server.<a href="../../../../../org/apache/cayenne/configuration/server/DbAdapterDetector.html" title="interface in org.apache.cayenne.configuration.server">DbAdapterDetector</a>)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/cayenne/dba/ingres/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/cayenne/dba/mysql/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/cayenne/dba/mariadb/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/package-use.html
new file mode 100644
index 0000000..025e24e
--- /dev/null
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mariadb/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.cayenne.dba.mariadb (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.cayenne.dba.mariadb (cayenne-doc: Cayenne Documentation 4.0.2 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/cayenne/dba/mariadb/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.cayenne.dba.mariadb" class="title">Uses of Package<br>org.apache.cayenne.dba.mariadb</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.cayenne.dba.mariadb</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/cayenne/dba/mariadb/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/MySQLAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/MySQLAdapter.html
index 7db9f17..acea54e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/MySQLAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/MySQLAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MySQLAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MySQLAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MySQLAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MySQLAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -743,6 +743,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/MySQLPkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/MySQLPkGenerator.html
index 7d1afe3..33fbd5a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/MySQLPkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/MySQLPkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MySQLPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MySQLPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MySQLPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MySQLPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -356,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/MySQLSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/MySQLSniffer.html
index 7f8e6f6..8b0a4b2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/MySQLSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/MySQLSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MySQLSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MySQLSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MySQLSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MySQLSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -329,6 +329,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/class-use/MySQLAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/class-use/MySQLAdapter.html
index 505ed31..ccd133e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/class-use/MySQLAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/class-use/MySQLAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.mysql.MySQLAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.mysql.MySQLAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.mysql.MySQLAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.mysql.MySQLAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/class-use/MySQLPkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/class-use/MySQLPkGenerator.html
index fb512cf..8b0be83 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/class-use/MySQLPkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/class-use/MySQLPkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.mysql.MySQLPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.mysql.MySQLPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.mysql.MySQLPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.mysql.MySQLPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/class-use/MySQLSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/class-use/MySQLSniffer.html
index 8a6611d..4a5f691 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/class-use/MySQLSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/class-use/MySQLSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.mysql.MySQLSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.mysql.MySQLSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.mysql.MySQLSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.mysql.MySQLSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-frame.html
index 77f75e2..bfc7236 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.mysql (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.mysql (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-summary.html
index aed3a4e..79e3afa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.mysql (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.mysql (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.mysql (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.mysql (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -44,7 +44,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/cayenne/dba/ingres/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/cayenne/dba/mariadb/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../../org/apache/cayenne/dba/openbase/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -134,7 +134,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/cayenne/dba/ingres/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/cayenne/dba/mariadb/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../../org/apache/cayenne/dba/openbase/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-tree.html
index 75f7993..6f75524 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.mysql Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.mysql Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.mysql Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.mysql Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -44,7 +44,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/cayenne/dba/ingres/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/cayenne/dba/mariadb/package-tree.html">Prev</a></li>
 <li><a href="../../../../../org/apache/cayenne/dba/openbase/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -118,7 +118,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/cayenne/dba/ingres/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/cayenne/dba/mariadb/package-tree.html">Prev</a></li>
 <li><a href="../../../../../org/apache/cayenne/dba/openbase/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -144,6 +144,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-use.html
index aa396c9..7ac63ee 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/mysql/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.dba.mysql (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.dba.mysql (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.dba.mysql (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.dba.mysql (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBaseAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBaseAdapter.html
index f376f7a..b65ed10 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBaseAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBaseAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OpenBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OpenBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OpenBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OpenBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -542,6 +542,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBasePkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBasePkGenerator.html
index 8aabb19..27ce487 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBasePkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBasePkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OpenBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OpenBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OpenBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OpenBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -617,6 +617,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBaseQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBaseQualifierTranslator.html
index 7df3f67..8fbe5e9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBaseQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBaseQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OpenBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OpenBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OpenBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OpenBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -446,6 +446,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBaseSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBaseSniffer.html
index bce471d..0c4092e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBaseSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/OpenBaseSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OpenBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OpenBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OpenBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OpenBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -329,6 +329,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBaseAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBaseAdapter.html
index dd85831..fb27975 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBaseAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBaseAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.openbase.OpenBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.openbase.OpenBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.openbase.OpenBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.openbase.OpenBaseAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBasePkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBasePkGenerator.html
index b9e178c..18db5c2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBasePkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBasePkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.openbase.OpenBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.openbase.OpenBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.openbase.OpenBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.openbase.OpenBasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBaseQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBaseQualifierTranslator.html
index bde01bb..7fed44f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBaseQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBaseQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.openbase.OpenBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.openbase.OpenBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.openbase.OpenBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.openbase.OpenBaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBaseSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBaseSniffer.html
index d05ad4a..6c41ae6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBaseSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/class-use/OpenBaseSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.openbase.OpenBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.openbase.OpenBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.openbase.OpenBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.openbase.OpenBaseSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-frame.html
index 463472d..59e1e26 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.openbase (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.openbase (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-summary.html
index fb0a1cf..a223d2e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.openbase (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.openbase (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.openbase (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.openbase (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-tree.html
index 6ed54d9..6cc0340 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.openbase Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.openbase Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.openbase Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.openbase Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -153,6 +153,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-use.html
index 531f851..62e4803 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/openbase/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.dba.openbase (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.dba.openbase (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.dba.openbase (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.dba.openbase (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/Oracle8Adapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/Oracle8Adapter.html
index 16515ef..4e7be1e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/Oracle8Adapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/Oracle8Adapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Oracle8Adapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Oracle8Adapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Oracle8Adapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Oracle8Adapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -423,6 +423,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleAdapter.html
index 5718895..e838a7b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OracleAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OracleAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OracleAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OracleAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -772,6 +772,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleByteArrayType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleByteArrayType.html
index ef20fea..3187344 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleByteArrayType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleByteArrayType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OracleByteArrayType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OracleByteArrayType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OracleByteArrayType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OracleByteArrayType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -327,6 +327,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleCharType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleCharType.html
index 2df8f60..afe2c4e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleCharType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleCharType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OracleCharType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OracleCharType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OracleCharType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OracleCharType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OraclePkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OraclePkGenerator.html
index 75ed3d2..039f3bd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OraclePkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OraclePkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OraclePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OraclePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OraclePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OraclePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -568,6 +568,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.INTrimmer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.INTrimmer.html
index 9379de2..940fed8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.INTrimmer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.INTrimmer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OracleQualifierTranslator.INTrimmer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OracleQualifierTranslator.INTrimmer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OracleQualifierTranslator.INTrimmer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OracleQualifierTranslator.INTrimmer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -296,6 +296,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.html
index a7e7df6..a01792a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OracleQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OracleQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OracleQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OracleQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -508,6 +508,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleSniffer.html
index 21b7a48..a0fc62a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OracleSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OracleSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OracleSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OracleSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleUtilDateType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleUtilDateType.html
index 12f1b3e..12d60f8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleUtilDateType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/OracleUtilDateType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>OracleUtilDateType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>OracleUtilDateType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OracleUtilDateType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="OracleUtilDateType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -370,6 +370,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/Oracle8Adapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/Oracle8Adapter.html
index 65b2833..5e71ae1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/Oracle8Adapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/Oracle8Adapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.oracle.Oracle8Adapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.oracle.Oracle8Adapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.Oracle8Adapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.Oracle8Adapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleAdapter.html
index 975e5c5..0cb3bf3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.oracle.OracleAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.oracle.OracleAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OracleAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OracleAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleByteArrayType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleByteArrayType.html
index 02c7fa4..35d54e7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleByteArrayType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleByteArrayType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.oracle.OracleByteArrayType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.oracle.OracleByteArrayType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OracleByteArrayType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OracleByteArrayType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleCharType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleCharType.html
index 17dd917..bfcd7de 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleCharType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleCharType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.oracle.OracleCharType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.oracle.OracleCharType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OracleCharType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OracleCharType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OraclePkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OraclePkGenerator.html
index 29c08a8..e055383 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OraclePkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OraclePkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.oracle.OraclePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.oracle.OraclePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OraclePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OraclePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -265,6 +265,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleQualifierTranslator.INTrimmer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleQualifierTranslator.INTrimmer.html
index 27f39fe..89a9e25 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleQualifierTranslator.INTrimmer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleQualifierTranslator.INTrimmer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.oracle.OracleQualifierTranslator.INTrimmer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.oracle.OracleQualifierTranslator.INTrimmer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OracleQualifierTranslator.INTrimmer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OracleQualifierTranslator.INTrimmer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleQualifierTranslator.html
index 59fd6ba..a38d95c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.oracle.OracleQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.oracle.OracleQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OracleQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OracleQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleSniffer.html
index b588f9f..6575c8c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.oracle.OracleSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.oracle.OracleSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OracleSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OracleSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleUtilDateType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleUtilDateType.html
index 7d38e54..debe3fc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleUtilDateType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/class-use/OracleUtilDateType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.oracle.OracleUtilDateType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.oracle.OracleUtilDateType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OracleUtilDateType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.oracle.OracleUtilDateType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-frame.html
index 0b48422..c5b64b3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.oracle (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.oracle (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-summary.html
index e5172f1..cbf63e5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.oracle (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.oracle (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.oracle (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.oracle (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -192,6 +192,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-tree.html
index 005bd5e..a9c4968 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.oracle Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.oracle Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.oracle Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.oracle Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-use.html
index eb30f1b..5de1ef6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/oracle/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.dba.oracle (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.dba.oracle (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.dba.oracle (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.dba.oracle (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -270,6 +270,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-frame.html
index 764fbb9..700d5b3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-summary.html
index 16423a1..3c1f591 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -222,6 +222,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-tree.html
index 643291f..b325131 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -147,6 +147,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-use.html
index 4cd33b5..54d6f21 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.dba (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.dba (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.dba (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.dba (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -162,40 +162,44 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.cayenne.dba.mariadb">org.apache.cayenne.dba.mariadb</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.mysql">org.apache.cayenne.dba.mysql</a></td>
 <td class="colLast">
 <div class="block">MySQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.openbase">org.apache.cayenne.dba.openbase</a></td>
 <td class="colLast">
 <div class="block">OpenBase DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.oracle">org.apache.cayenne.dba.oracle</a></td>
 <td class="colLast">
 <div class="block">Oracle DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.postgres">org.apache.cayenne.dba.postgres</a></td>
 <td class="colLast">
 <div class="block">PostgreSQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sqlite">org.apache.cayenne.dba.sqlite</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sqlserver">org.apache.cayenne.dba.sqlserver</a></td>
 <td class="colLast">
 <div class="block">MS SQLServer DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sybase">org.apache.cayenne.dba.sybase</a></td>
 <td class="colLast">
 <div class="block">Sybase DbAdapter.</div>
@@ -605,6 +609,24 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.cayenne.dba.mariadb">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/cayenne/dba/package-summary.html">org.apache.cayenne.dba</a> used by <a href="../../../../org/apache/cayenne/dba/mariadb/package-summary.html">org.apache.cayenne.dba.mariadb</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/cayenne/dba/class-use/DbAdapter.html#org.apache.cayenne.dba.mariadb">DbAdapter</a>
+<div class="block">A Cayenne extension point that abstracts the differences between specifics of
+ JDBC interfaces to various databases.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.cayenne.dba.mysql">
 <!--   -->
 </a>
@@ -876,6 +898,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresAdapter.html
index b0d1593..c3fe084 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PostgresAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PostgresAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PostgresAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PostgresAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -630,6 +630,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresBatchAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresBatchAction.html
index 4262f8d..41ee9ea 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresBatchAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresBatchAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PostgresBatchAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PostgresBatchAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PostgresBatchAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PostgresBatchAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -339,6 +339,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresPkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresPkGenerator.html
index bf7ca18..05c30c3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresPkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresPkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PostgresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PostgresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PostgresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PostgresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresQualifierTranslator.html
index e10a8e2..25a3f32 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PostgresQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PostgresQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PostgresQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PostgresQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -524,6 +524,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresSniffer.html
index 03e807a..16a7342 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/PostgresSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PostgresSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PostgresSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PostgresSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PostgresSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresAdapter.html
index 10747de..569070f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.postgres.PostgresAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.postgres.PostgresAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.postgres.PostgresAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.postgres.PostgresAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresBatchAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresBatchAction.html
index e55dc50..e0b6686 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresBatchAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresBatchAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.postgres.PostgresBatchAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.postgres.PostgresBatchAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.postgres.PostgresBatchAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.postgres.PostgresBatchAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresPkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresPkGenerator.html
index eaa8e85..afa01af 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresPkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresPkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.postgres.PostgresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.postgres.PostgresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.postgres.PostgresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.postgres.PostgresPkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresQualifierTranslator.html
index 8f0cb5b..719421a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.postgres.PostgresQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.postgres.PostgresQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.postgres.PostgresQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.postgres.PostgresQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresSniffer.html
index 9b65e18..9886572 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/class-use/PostgresSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.postgres.PostgresSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.postgres.PostgresSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.postgres.PostgresSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.postgres.PostgresSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-frame.html
index c821b9a..36bd67f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.postgres (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.postgres (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-summary.html
index 3346918..4fcd5b2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.postgres (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.postgres (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.postgres (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.postgres (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -171,6 +171,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-tree.html
index 855279b..b5b8115 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.postgres Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.postgres Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.postgres Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.postgres Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -170,6 +170,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-use.html
index b43233a..ae9870d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/postgres/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.dba.postgres (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.dba.postgres (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.dba.postgres (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.dba.postgres (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/SQLiteAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/SQLiteAdapter.html
index 0fa3021..837ac92 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/SQLiteAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/SQLiteAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLiteAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLiteAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLiteAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLiteAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -480,6 +480,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/SQLiteQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/SQLiteQualifierTranslator.html
index 274e7a3..77dcc10 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/SQLiteQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/SQLiteQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLiteQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLiteQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLiteQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLiteQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -444,6 +444,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/SQLiteSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/SQLiteSniffer.html
index b931c3c..df5ac8c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/SQLiteSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/SQLiteSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLiteSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLiteSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLiteSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLiteSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -329,6 +329,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/class-use/SQLiteAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/class-use/SQLiteAdapter.html
index 08713bf..5628cd4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/class-use/SQLiteAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/class-use/SQLiteAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.sqlite.SQLiteAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.sqlite.SQLiteAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlite.SQLiteAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlite.SQLiteAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/class-use/SQLiteQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/class-use/SQLiteQualifierTranslator.html
index 2a5ce8d..6a4d3fe 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/class-use/SQLiteQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/class-use/SQLiteQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.sqlite.SQLiteQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.sqlite.SQLiteQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlite.SQLiteQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlite.SQLiteQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/class-use/SQLiteSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/class-use/SQLiteSniffer.html
index 927b351..8b3a8ad 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/class-use/SQLiteSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/class-use/SQLiteSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.sqlite.SQLiteSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.sqlite.SQLiteSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlite.SQLiteSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlite.SQLiteSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-frame.html
index 94921a6..e069643 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.sqlite (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.sqlite (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-summary.html
index 67848dd..8ff2881 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.sqlite (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.sqlite (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.sqlite (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.sqlite (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -151,6 +151,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-tree.html
index 3efb87d..c31fe99 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.sqlite Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.sqlite Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.sqlite Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.sqlite Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -148,6 +148,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-use.html
index 00246c2..923112a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlite/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.dba.sqlite (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.dba.sqlite (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.dba.sqlite (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.dba.sqlite (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerActionBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerActionBuilder.html
index 63288c3..80741ce 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerActionBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerActionBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLServerActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLServerActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLServerActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLServerActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -340,6 +340,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerAdapter.html
index 274077e..e7f1aef 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLServerAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLServerAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLServerAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLServerAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -481,6 +481,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerBatchAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerBatchAction.html
index 5f75f86..36352b7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerBatchAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerBatchAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLServerBatchAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLServerBatchAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLServerBatchAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLServerBatchAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -379,6 +379,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerProcedureAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerProcedureAction.html
index 8109556..dd21b47 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerProcedureAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerProcedureAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLServerProcedureAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLServerProcedureAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLServerProcedureAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLServerProcedureAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -351,6 +351,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerSelectTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerSelectTranslator.html
index ea95d78..bb227af 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerSelectTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerSelectTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLServerSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLServerSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLServerSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLServerSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -358,6 +358,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerSniffer.html
index ca538aa..cab366d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/SQLServerSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLServerSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLServerSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLServerSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLServerSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -329,6 +329,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerActionBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerActionBuilder.html
index 195ab25..dba3ec0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerActionBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerActionBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerActionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerActionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerAdapter.html
index ca7d098..e56a6c4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerBatchAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerBatchAction.html
index 723e022..dd5b433 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerBatchAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerBatchAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerBatchAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerBatchAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerBatchAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerBatchAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerProcedureAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerProcedureAction.html
index 62f11a1..fd229ce 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerProcedureAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerProcedureAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerProcedureAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerProcedureAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerProcedureAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerProcedureAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerSelectTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerSelectTranslator.html
index 9eb8bf9..f63f6d3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerSelectTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerSelectTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerSniffer.html
index 8f5c289..b78ade6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/class-use/SQLServerSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.sqlserver.SQLServerSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-frame.html
index 4f29a7f..8465541 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.sqlserver (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.sqlserver (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-summary.html
index 51d081a..39addd3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.sqlserver (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.sqlserver (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.sqlserver (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.sqlserver (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -176,6 +176,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-tree.html
index bdc8eaf..2449974 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.sqlserver Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.sqlserver Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.sqlserver Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.sqlserver Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -171,6 +171,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-use.html
index 7cc8e37..866e341 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sqlserver/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.dba.sqlserver (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.dba.sqlserver (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.dba.sqlserver (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.dba.sqlserver (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseAdapter.html
index 93503ea..96183ea 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SybaseAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SybaseAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SybaseAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SybaseAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -495,6 +495,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybasePkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybasePkGenerator.html
index 6fe7f8c..03ef6f3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybasePkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybasePkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SybasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SybasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SybasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SybasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -504,6 +504,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseQualifierTranslator.html
index c103fef..e39cfde 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SybaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SybaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SybaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SybaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -415,6 +415,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseSelectTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseSelectTranslator.html
index d52d2d2..18d1688 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseSelectTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseSelectTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SybaseSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SybaseSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SybaseSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SybaseSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -358,6 +358,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseSniffer.html
index a54667f..bee5740 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/SybaseSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SybaseSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SybaseSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SybaseSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SybaseSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -329,6 +329,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseAdapter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseAdapter.html
index a930aaa..cdee5f2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseAdapter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseAdapter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.sybase.SybaseAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.sybase.SybaseAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.sybase.SybaseAdapter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.sybase.SybaseAdapter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -167,6 +167,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybasePkGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybasePkGenerator.html
index f25f7de..369ab47 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybasePkGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybasePkGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.sybase.SybasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.sybase.SybasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.sybase.SybasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.sybase.SybasePkGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseQualifierTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseQualifierTranslator.html
index a6b5a6b..a4df03b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseQualifierTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseQualifierTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.sybase.SybaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.sybase.SybaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.sybase.SybaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.sybase.SybaseQualifierTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseSelectTranslator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseSelectTranslator.html
index 4a69006..94f9fcb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseSelectTranslator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseSelectTranslator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.sybase.SybaseSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.sybase.SybaseSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.sybase.SybaseSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.sybase.SybaseSelectTranslator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseSniffer.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseSniffer.html
index 8c7a6a7..7621fb7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseSniffer.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/class-use/SybaseSniffer.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.dba.sybase.SybaseSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.dba.sybase.SybaseSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.dba.sybase.SybaseSniffer (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.dba.sybase.SybaseSniffer (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-frame.html
index c2eaf11..3a5349f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.sybase (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.sybase (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-summary.html
index eda585b..9cfe06a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.sybase (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.sybase (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.sybase (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.sybase (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -171,6 +171,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-tree.html
index 91fc5bc..610ab6b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.dba.sybase Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.dba.sybase Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.dba.sybase Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.dba.sybase Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-use.html
index 83c134d..94f2f37 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/dba/sybase/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.dba.sybase (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.dba.sybase (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.dba.sybase (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.dba.sybase (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -159,6 +159,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/AdhocObjectFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/AdhocObjectFactory.html
index 87a308e..4d352dd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/AdhocObjectFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/AdhocObjectFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>AdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>AdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="AdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -257,6 +257,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/BeforeScopeEnd.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/BeforeScopeEnd.html
index 4dd5724..1d65c85 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/BeforeScopeEnd.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/BeforeScopeEnd.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BeforeScopeEnd (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BeforeScopeEnd (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BeforeScopeEnd (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BeforeScopeEnd (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -172,6 +172,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Binder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Binder.html
index 5af83e3..5b5a81b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Binder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Binder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Binder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Binder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Binder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Binder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -430,6 +430,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/BindingBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/BindingBuilder.html
index 20f9c6c..5101c90 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/BindingBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/BindingBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BindingBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BindingBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BindingBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BindingBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -339,6 +339,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/ClassLoaderManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/ClassLoaderManager.html
index b280e48..1d0dc11 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/ClassLoaderManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/ClassLoaderManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -234,6 +234,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/DIBootstrap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/DIBootstrap.html
index e6564a4..afecf60 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/DIBootstrap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/DIBootstrap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DIBootstrap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DIBootstrap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DIBootstrap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DIBootstrap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -297,6 +297,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/DIRuntimeException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/DIRuntimeException.html
index 023d891..26871f1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/DIRuntimeException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/DIRuntimeException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DIRuntimeException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DIRuntimeException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DIRuntimeException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DIRuntimeException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -321,6 +321,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/DecoratorBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/DecoratorBuilder.html
index 9dda810..16a3114 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/DecoratorBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/DecoratorBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DecoratorBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DecoratorBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DecoratorBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DecoratorBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -245,6 +245,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Inject.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Inject.html
index 0622d0d..823c902 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Inject.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Inject.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Inject (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Inject (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Inject (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Inject (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -223,6 +223,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Injector.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Injector.html
index 554b792..17f02e5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Injector.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Injector.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Injector (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Injector (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Injector (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Injector (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -339,6 +339,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Key.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Key.html
index 1227f16..5ac0842 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Key.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Key.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Key (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Key (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Key (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Key (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -512,6 +512,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/ListBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/ListBuilder.html
index fd04d96..cb76a94 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/ListBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/ListBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ListBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ListBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ListBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ListBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -419,6 +419,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/MapBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/MapBuilder.html
index db88fa0..c319da2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/MapBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/MapBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MapBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MapBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MapBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MapBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Module.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Module.html
index 2780216..e560e85 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Module.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Module.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Module (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Module (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Module (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Module (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -227,6 +227,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Provider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Provider.html
index 7cabdbd..8024a7f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Provider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Provider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Provider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Provider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Provider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Provider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -106,7 +106,7 @@
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/cayenne/configuration/rop/client/ClientChannelProvider.html" title="class in org.apache.cayenne.configuration.rop.client">ClientChannelProvider</a>, <a href="../../../../org/apache/cayenne/rop/http/ClientHessianSerializationServiceProvider.html" title="class in org.apache.cayenne.rop.http">ClientHessianSerializationServiceProvider</a>, <a href="../../../../org/apache/cayenne/configuration/server/DataDomainProvider.html" title="class in org.apache.cayenne.configuration.server">DataDomainProvider</a>, <a href="../../../../org/apache/cayenne/di/spi/DefaultScopeProvider.html" title="class in org.apache.cayenne.di.spi">DefaultScopeProvider</a>, <a href="../../../../org/apache/cayenne/configuration/server/DomainDataChannelProvider.html" title="class in org.apache.cayenne.configuration.server">DomainDataChannelProvider</a>, <a href="../../../../org/apache/cayenne/rop/HttpClientConnectionProvider.html" title="class in org.apache.cayenne.rop">HttpClientConnectionProvider</a>, <a href="../../../../org/apache/cayenne/configuration/rop/client/LocalClientServerChannelProvider.html" title="class in org.apache.cayenne.configuration.rop.client">LocalClientServerChannelProvider</a>, <a href="../../../../org/apache/cayenne/configuration/rop/client/LocalConnectionProvider.html" title="class in org.apache.cayenne.configuration.rop.client">LocalConnectionProvider</a>, <a href="../../../../org/apache/cayenne/cache/MapQueryCacheProvider.html" title="class in org.apache.cayenne.cache">MapQueryCacheProvider</a>, <a href="../../../../org/apache/cayenne/event/NoopEventBridgeProvider.html" title="class in org.apache.cayenne.event">NoopEventBridgeProvider</a>, <a href="../../../../org/apache/cayenne/configuration/osgi/OsgiDataDomainProvider.html" title="class in org.apache.cayenne.configuration.osgi">OsgiDataDomainProvider</a>, <a href="../../../../org/apache/cayenne/rop/ServerHessianSerializationServiceProvider.html" title="class in org.apache.cayenne.rop">ServerHessianSerializationServiceProvider</a></dd>
+<dd><a href="../../../../org/apache/cayenne/configuration/rop/client/ClientChannelProvider.html" title="class in org.apache.cayenne.configuration.rop.client">ClientChannelProvider</a>, <a href="../../../../org/apache/cayenne/rop/http/ClientHessianSerializationServiceProvider.html" title="class in org.apache.cayenne.rop.http">ClientHessianSerializationServiceProvider</a>, <a href="../../../../org/apache/cayenne/configuration/server/DataDomainProvider.html" title="class in org.apache.cayenne.configuration.server">DataDomainProvider</a>, <a href="../../../../org/apache/cayenne/di/spi/DefaultScopeProvider.html" title="class in org.apache.cayenne.di.spi">DefaultScopeProvider</a>, <a href="../../../../org/apache/cayenne/configuration/server/DomainDataChannelProvider.html" title="class in org.apache.cayenne.configuration.server">DomainDataChannelProvider</a>, <a href="../../../../org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event">EventManagerProvider</a>, <a href="../../../../org/apache/cayenne/rop/HttpClientConnectionProvider.html" title="class in org.apache.cayenne.rop">HttpClientConnectionProvider</a>, <a href="../../../../org/apache/cayenne/configuration/rop/client/LocalClientServerChannelProvider.html" title="class in org.apache.cayenne.configuration.rop.client">LocalClientServerChannelProvider</a>, <a href="../../../../org/apache/cayenne/configuration/rop/client/LocalConnectionProvider.html" title="class in org.apache.cayenne.configuration.rop.client">LocalConnectionProvider</a>, <a href="../../../../org/apache/cayenne/cache/MapQueryCacheProvider.html" title="class in org.apache.cayenne.cache">MapQueryCacheProvider</a>, <a href="../../../../org/apache/cayenne/event/NoopEventBridgeProvider.html" title="class in org.apache.cayenne.event">NoopEventBridgeProvider</a>, <a href="../../../../org/apache/cayenne/configuration/osgi/OsgiDataDomainProvider.html" title="class in org.apache.cayenne.configuration.osgi">OsgiDataDomainProvider</a>, <a href="../../../../org/apache/cayenne/rop/ServerHessianSerializationServiceProvider.html" title="class in org.apache.cayenne.rop">ServerHessianSerializationServiceProvider</a></dd>
 </dl>
 <hr>
 <br>
@@ -236,6 +236,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Scope.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Scope.html
index 6b41812..12306b4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Scope.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/Scope.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Scope (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Scope (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Scope (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Scope (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -230,6 +230,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/ScopeEventListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/ScopeEventListener.html
index db2ca36..4582dec 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/ScopeEventListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/ScopeEventListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ScopeEventListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ScopeEventListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ScopeEventListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ScopeEventListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -234,6 +234,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/AdhocObjectFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/AdhocObjectFactory.html
index ff145e4..1bb40b8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/AdhocObjectFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/AdhocObjectFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.di.AdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.di.AdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.di.AdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.di.AdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -132,46 +132,50 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.cayenne.dba.mariadb">org.apache.cayenne.dba.mariadb</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.mysql">org.apache.cayenne.dba.mysql</a></td>
 <td class="colLast">
 <div class="block">MySQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.openbase">org.apache.cayenne.dba.openbase</a></td>
 <td class="colLast">
 <div class="block">OpenBase DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.oracle">org.apache.cayenne.dba.oracle</a></td>
 <td class="colLast">
 <div class="block">Oracle DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.postgres">org.apache.cayenne.dba.postgres</a></td>
 <td class="colLast">
 <div class="block">PostgreSQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sqlite">org.apache.cayenne.dba.sqlite</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sqlserver">org.apache.cayenne.dba.sqlserver</a></td>
 <td class="colLast">
 <div class="block">MS SQLServer DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sybase">org.apache.cayenne.dba.sybase</a></td>
 <td class="colLast">
 <div class="block">Sybase DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.di.spi">org.apache.cayenne.di.spi</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -445,6 +449,35 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.cayenne.dba.mariadb">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/cayenne/di/AdhocObjectFactory.html" title="interface in org.apache.cayenne.di">AdhocObjectFactory</a> in <a href="../../../../../org/apache/cayenne/dba/mariadb/package-summary.html">org.apache.cayenne.dba.mariadb</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../org/apache/cayenne/dba/mariadb/package-summary.html">org.apache.cayenne.dba.mariadb</a> declared as <a href="../../../../../org/apache/cayenne/di/AdhocObjectFactory.html" title="interface in org.apache.cayenne.di">AdhocObjectFactory</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/cayenne/di/AdhocObjectFactory.html" title="interface in org.apache.cayenne.di">AdhocObjectFactory</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MariaDBSniffer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/dba/mariadb/MariaDBSniffer.html#objectFactory">objectFactory</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/cayenne/dba/mariadb/package-summary.html">org.apache.cayenne.dba.mariadb</a> with parameters of type <a href="../../../../../org/apache/cayenne/di/AdhocObjectFactory.html" title="interface in org.apache.cayenne.di">AdhocObjectFactory</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/dba/mariadb/MariaDBSniffer.html#MariaDBSniffer-org.apache.cayenne.di.AdhocObjectFactory-">MariaDBSniffer</a></span>(<a href="../../../../../org/apache/cayenne/di/AdhocObjectFactory.html" title="interface in org.apache.cayenne.di">AdhocObjectFactory</a>&nbsp;objectFactory)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.cayenne.dba.mysql">
 <!--   -->
 </a>
@@ -721,6 +754,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/BeforeScopeEnd.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/BeforeScopeEnd.html
index 875dd57..e925d8c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/BeforeScopeEnd.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/BeforeScopeEnd.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.di.BeforeScopeEnd (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.di.BeforeScopeEnd (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.di.BeforeScopeEnd (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.di.BeforeScopeEnd (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -292,6 +292,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Binder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Binder.html
index 73b18f8..ef6e923 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Binder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Binder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.di.Binder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.di.Binder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.di.Binder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.di.Binder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -348,6 +348,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/BindingBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/BindingBuilder.html
index a97e8dd..3b6256d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/BindingBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/BindingBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.di.BindingBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.di.BindingBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.di.BindingBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.di.BindingBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -185,6 +185,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/ClassLoaderManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/ClassLoaderManager.html
index 38e5445..fb178f0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/ClassLoaderManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/ClassLoaderManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.di.ClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.di.ClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.di.ClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.di.ClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -241,6 +241,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/DIBootstrap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/DIBootstrap.html
index c2f426d..87b5c66 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/DIBootstrap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/DIBootstrap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.di.DIBootstrap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.di.DIBootstrap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.di.DIBootstrap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.di.DIBootstrap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/DIRuntimeException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/DIRuntimeException.html
index 7d07b00..1f2d7fb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/DIRuntimeException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/DIRuntimeException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.di.DIRuntimeException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.di.DIRuntimeException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.di.DIRuntimeException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.di.DIRuntimeException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -343,6 +343,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EventManagerProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/EventManagerProvider.html#get--">get</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/cayenne/event/EventBridge.html" title="class in org.apache.cayenne.event">EventBridge</a></code></td>
 <td class="colLast"><span class="typeNameLabel">NoopEventBridgeProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/NoopEventBridgeProvider.html#get--">get</a></span>()</code>&nbsp;</td>
 </tr>
@@ -440,6 +444,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/DecoratorBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/DecoratorBuilder.html
index 7fe7834..7aa3597 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/DecoratorBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/DecoratorBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.di.DecoratorBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.di.DecoratorBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.di.DecoratorBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.di.DecoratorBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Inject.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Inject.html
index 064a9d0..a054d2c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Inject.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Inject.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.di.Inject (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.di.Inject (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.di.Inject (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.di.Inject (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -162,49 +162,59 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.cayenne.dba.mariadb">org.apache.cayenne.dba.mariadb</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.mysql">org.apache.cayenne.dba.mysql</a></td>
 <td class="colLast">
 <div class="block">MySQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.openbase">org.apache.cayenne.dba.openbase</a></td>
 <td class="colLast">
 <div class="block">OpenBase DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.oracle">org.apache.cayenne.dba.oracle</a></td>
 <td class="colLast">
 <div class="block">Oracle DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.postgres">org.apache.cayenne.dba.postgres</a></td>
 <td class="colLast">
 <div class="block">PostgreSQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sqlite">org.apache.cayenne.dba.sqlite</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sqlserver">org.apache.cayenne.dba.sqlserver</a></td>
 <td class="colLast">
 <div class="block">MS SQLServer DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sybase">org.apache.cayenne.dba.sybase</a></td>
 <td class="colLast">
 <div class="block">Sybase DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.di.spi">org.apache.cayenne.di.spi</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.cayenne.event">org.apache.cayenne.event</a></td>
+<td class="colLast">
+<div class="block">Contains classes that make up Cayenne generic event dispatch mechanism.</div>
+</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.log">org.apache.cayenne.log</a></td>
 <td class="colLast">&nbsp;</td>
@@ -1182,6 +1192,22 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.cayenne.dba.mariadb">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/cayenne/di/Inject.html" title="annotation in org.apache.cayenne.di">Inject</a> in <a href="../../../../../org/apache/cayenne/dba/mariadb/package-summary.html">org.apache.cayenne.dba.mariadb</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../org/apache/cayenne/dba/mariadb/package-summary.html">org.apache.cayenne.dba.mariadb</a> with annotations of type <a href="../../../../../org/apache/cayenne/di/Inject.html" title="annotation in org.apache.cayenne.di">Inject</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/dba/mariadb/MariaDBSniffer.html#MariaDBSniffer-org.apache.cayenne.di.AdhocObjectFactory-">MariaDBSniffer</a></span>(<a href="../../../../../org/apache/cayenne/di/AdhocObjectFactory.html" title="interface in org.apache.cayenne.di">AdhocObjectFactory</a>&nbsp;objectFactory)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.cayenne.dba.mysql">
 <!--   -->
 </a>
@@ -1699,6 +1725,22 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.cayenne.event">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/cayenne/di/Inject.html" title="annotation in org.apache.cayenne.di">Inject</a> in <a href="../../../../../org/apache/cayenne/event/package-summary.html">org.apache.cayenne.event</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../org/apache/cayenne/event/package-summary.html">org.apache.cayenne.event</a> with annotations of type <a href="../../../../../org/apache/cayenne/di/Inject.html" title="annotation in org.apache.cayenne.di">Inject</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/EventManagerProvider.html#EventManagerProvider-org.apache.cayenne.configuration.RuntimeProperties-">EventManagerProvider</a></span>(<a href="../../../../../org/apache/cayenne/configuration/RuntimeProperties.html" title="interface in org.apache.cayenne.configuration">RuntimeProperties</a>&nbsp;properties)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.cayenne.log">
 <!--   -->
 </a>
@@ -1894,6 +1936,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Injector.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Injector.html
index a509dab..cea13a3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Injector.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Injector.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.di.Injector (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.di.Injector (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.di.Injector (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.di.Injector (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -435,6 +435,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Key.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Key.html
index c06d690..45eaf18 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Key.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Key.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.di.Key (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.di.Key (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.di.Key (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.di.Key (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -270,6 +270,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/ListBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/ListBuilder.html
index 8c42cee..c3fd0f7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/ListBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/ListBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.di.ListBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.di.ListBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.di.ListBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.di.ListBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -291,6 +291,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/MapBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/MapBuilder.html
index 7bf2821..2122783 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/MapBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/MapBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.di.MapBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.di.MapBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.di.MapBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.di.MapBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -241,6 +241,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Module.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Module.html
index d6d2e71..4566e6f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Module.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Module.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.di.Module (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.di.Module (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.di.Module (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.di.Module (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -656,6 +656,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Provider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Provider.html
index f18678b..a45ba49 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Provider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Provider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.di.Provider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.di.Provider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.di.Provider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.di.Provider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -446,6 +446,10 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event">EventManagerProvider</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/NoopEventBridgeProvider.html" title="class in org.apache.cayenne.event">NoopEventBridgeProvider</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
@@ -542,6 +546,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Scope.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Scope.html
index 7f9060a..36f893b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Scope.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/Scope.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.di.Scope (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.di.Scope (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.di.Scope (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.di.Scope (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -208,6 +208,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/ScopeEventListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/ScopeEventListener.html
index 409f7b9..b29ecfe 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/ScopeEventListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/class-use/ScopeEventListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.di.ScopeEventListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.di.ScopeEventListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.di.ScopeEventListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.di.ScopeEventListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-frame.html
index 819ff7a..dadcae2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.di (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.di (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-summary.html
index 488d710..d021719 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.di (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.di (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.di (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.di (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -270,6 +270,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-tree.html
index 4cd7a9c..26008a5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.di Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.di Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.di Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.di Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -168,6 +168,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-use.html
index a04e420..641d42e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.di (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.di (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.di (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.di (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -180,80 +180,84 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.cayenne.dba.mariadb">org.apache.cayenne.dba.mariadb</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.mysql">org.apache.cayenne.dba.mysql</a></td>
 <td class="colLast">
 <div class="block">MySQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.openbase">org.apache.cayenne.dba.openbase</a></td>
 <td class="colLast">
 <div class="block">OpenBase DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.oracle">org.apache.cayenne.dba.oracle</a></td>
 <td class="colLast">
 <div class="block">Oracle DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.postgres">org.apache.cayenne.dba.postgres</a></td>
 <td class="colLast">
 <div class="block">PostgreSQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sqlite">org.apache.cayenne.dba.sqlite</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sqlserver">org.apache.cayenne.dba.sqlserver</a></td>
 <td class="colLast">
 <div class="block">MS SQLServer DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.dba.sybase">org.apache.cayenne.dba.sybase</a></td>
 <td class="colLast">
 <div class="block">Sybase DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.di">org.apache.cayenne.di</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.di.spi">org.apache.cayenne.di.spi</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.event">org.apache.cayenne.event</a></td>
 <td class="colLast">
 <div class="block">Contains classes that make up Cayenne generic event dispatch mechanism.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.log">org.apache.cayenne.log</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.remote.hessian.service">org.apache.cayenne.remote.hessian.service</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.resource">org.apache.cayenne.resource</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.rop">org.apache.cayenne.rop</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.cayenne.rop.http">org.apache.cayenne.rop.http</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.cayenne.tx">org.apache.cayenne.tx</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -789,6 +793,27 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.cayenne.dba.mariadb">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/cayenne/di/package-summary.html">org.apache.cayenne.di</a> used by <a href="../../../../org/apache/cayenne/dba/mariadb/package-summary.html">org.apache.cayenne.dba.mariadb</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/cayenne/di/class-use/AdhocObjectFactory.html#org.apache.cayenne.dba.mariadb">AdhocObjectFactory</a>
+<div class="block">Creates objects for user-provided String class names, injecting dependencies
+ into them.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/cayenne/di/class-use/Inject.html#org.apache.cayenne.dba.mariadb">Inject</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.cayenne.dba.mysql">
 <!--   -->
 </a>
@@ -1079,6 +1104,9 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/cayenne/di/class-use/Inject.html#org.apache.cayenne.event">Inject</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/cayenne/di/class-use/Provider.html#org.apache.cayenne.event">Provider</a>
 <div class="block">A DI object factory interface.</div>
 </td>
@@ -1253,6 +1281,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ConstructorInjectingDecoratorProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ConstructorInjectingDecoratorProvider.html
index cf3325e..32ff0b6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ConstructorInjectingDecoratorProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ConstructorInjectingDecoratorProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ConstructorInjectingDecoratorProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ConstructorInjectingDecoratorProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ConstructorInjectingDecoratorProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ConstructorInjectingDecoratorProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -279,6 +279,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DICollectionBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DICollectionBuilder.html
index d7aa0e8..9db93c1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DICollectionBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DICollectionBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DICollectionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DICollectionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DICollectionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DICollectionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -375,6 +375,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultAdhocObjectFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultAdhocObjectFactory.html
index 0f6cce7..9543bbf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultAdhocObjectFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultAdhocObjectFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultAdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultAdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultAdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultAdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -370,6 +370,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultClassLoaderManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultClassLoaderManager.html
index 35eaa2a..35babef 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultClassLoaderManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultClassLoaderManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -288,6 +288,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultInjector.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultInjector.html
index df40001..f756e64 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultInjector.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultInjector.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultInjector (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultInjector (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultInjector (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultInjector (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -414,6 +414,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultScope.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultScope.html
index 2f555d2..30ea492 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultScope.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultScope.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultScope (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultScope (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultScope (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultScope (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -399,6 +399,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultScopeProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultScopeProvider.html
index 0695a04..078bc24 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultScopeProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/DefaultScopeProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultScopeProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultScopeProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultScopeProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultScopeProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -303,6 +303,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ModuleLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ModuleLoader.html
index 16b2b9b..6bb3527 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ModuleLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ModuleLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ModuleLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ModuleLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ModuleLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ModuleLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ModuleProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ModuleProvider.html
index d6337a3..321d22a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ModuleProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ModuleProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -270,6 +270,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ScopeEventBinding.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ScopeEventBinding.html
index 5ce0f41..25615ea 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ScopeEventBinding.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/ScopeEventBinding.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ScopeEventBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ScopeEventBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ScopeEventBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ScopeEventBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -288,6 +288,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ConstructorInjectingDecoratorProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ConstructorInjectingDecoratorProvider.html
index 8464c3c..5accf31 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ConstructorInjectingDecoratorProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ConstructorInjectingDecoratorProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.di.spi.ConstructorInjectingDecoratorProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.di.spi.ConstructorInjectingDecoratorProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.di.spi.ConstructorInjectingDecoratorProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.di.spi.ConstructorInjectingDecoratorProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DICollectionBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DICollectionBuilder.html
index 8f259c6..c8c0627 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DICollectionBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DICollectionBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.di.spi.DICollectionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.di.spi.DICollectionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.di.spi.DICollectionBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.di.spi.DICollectionBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultAdhocObjectFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultAdhocObjectFactory.html
index 5e73d24..80d3aa9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultAdhocObjectFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultAdhocObjectFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.di.spi.DefaultAdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.di.spi.DefaultAdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.di.spi.DefaultAdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.di.spi.DefaultAdhocObjectFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultClassLoaderManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultClassLoaderManager.html
index bf73095..cd90e52 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultClassLoaderManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultClassLoaderManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.di.spi.DefaultClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.di.spi.DefaultClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.di.spi.DefaultClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.di.spi.DefaultClassLoaderManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultInjector.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultInjector.html
index 926319b..48d4c56 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultInjector.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultInjector.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.di.spi.DefaultInjector (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.di.spi.DefaultInjector (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.di.spi.DefaultInjector (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.di.spi.DefaultInjector (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultScope.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultScope.html
index ddcba8d..4c25b05 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultScope.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultScope.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.di.spi.DefaultScope (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.di.spi.DefaultScope (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.di.spi.DefaultScope (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.di.spi.DefaultScope (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultScopeProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultScopeProvider.html
index f4d0d2e..69ad4ae 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultScopeProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/DefaultScopeProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.di.spi.DefaultScopeProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.di.spi.DefaultScopeProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.di.spi.DefaultScopeProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.di.spi.DefaultScopeProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ModuleLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ModuleLoader.html
index 8456a3e..4a3f7ad 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ModuleLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ModuleLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.di.spi.ModuleLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.di.spi.ModuleLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.di.spi.ModuleLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.di.spi.ModuleLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ModuleProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ModuleProvider.html
index 4a90f6e..d490eb6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ModuleProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ModuleProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.di.spi.ModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.di.spi.ModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.di.spi.ModuleProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.di.spi.ModuleProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -239,6 +239,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ScopeEventBinding.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ScopeEventBinding.html
index f268534..4f2defe 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ScopeEventBinding.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/class-use/ScopeEventBinding.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.di.spi.ScopeEventBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.di.spi.ScopeEventBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.di.spi.ScopeEventBinding (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.di.spi.ScopeEventBinding (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-frame.html
index b046d7c..84f2b2a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.di.spi (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.di.spi (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-summary.html
index 74799da..5d4292e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.di.spi (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.di.spi (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.di.spi (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.di.spi (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -207,6 +207,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-tree.html
index 29da1a6..03db388 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.di.spi Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.di.spi Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.di.spi Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.di.spi Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -146,6 +146,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-use.html
index bdb9e2a..63a34f9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/di/spi/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.di.spi (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.di.spi (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.di.spi (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.di.spi (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -216,6 +216,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLBaseVisitor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLBaseVisitor.html
index e334ad9..f57669f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLBaseVisitor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLBaseVisitor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLBaseVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLBaseVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLBaseVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLBaseVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -2096,6 +2096,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLCompiledExpression.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLCompiledExpression.html
index 222c51e..a4be17f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLCompiledExpression.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLCompiledExpression.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLCompiledExpression (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLCompiledExpression (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLCompiledExpression (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLCompiledExpression (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -327,6 +327,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLException.html
index 1d8828d..97922fc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -366,6 +366,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLExpression.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLExpression.html
index dfff04e..da44bae 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLExpression.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLExpression.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLExpression (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLExpression (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLExpression (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLExpression (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLExpressionVisitor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLExpressionVisitor.html
index a302cdf..caf9aa6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLExpressionVisitor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLExpressionVisitor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLExpressionVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLExpressionVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLExpressionVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLExpressionVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1642,6 +1642,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLParser.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLParser.html
index e2201a9..59b2322 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLParser.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLParser.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLParser (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLParser (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLParser (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLParser (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -259,6 +259,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLParserFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLParserFactory.html
index b7ac7c4..59f6c52 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLParserFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/EJBQLParserFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLParserFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLParserFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLParserFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLParserFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -278,6 +278,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLBaseVisitor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLBaseVisitor.html
index c73fec8..751b89a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLBaseVisitor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLBaseVisitor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.EJBQLBaseVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.EJBQLBaseVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.EJBQLBaseVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.EJBQLBaseVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -288,6 +288,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLCompiledExpression.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLCompiledExpression.html
index d598d6c..498be56 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLCompiledExpression.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLCompiledExpression.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.ejbql.EJBQLCompiledExpression (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.ejbql.EJBQLCompiledExpression (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.ejbql.EJBQLCompiledExpression (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.ejbql.EJBQLCompiledExpression (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -251,6 +251,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLException.html
index 8ae8f6d..0e2a019 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.EJBQLException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.EJBQLException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.EJBQLException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.EJBQLException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -228,6 +228,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLExpression.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLExpression.html
index 266ed0d..9c86c55 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLExpression.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLExpression.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.ejbql.EJBQLExpression (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.ejbql.EJBQLExpression (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.ejbql.EJBQLExpression (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.ejbql.EJBQLExpression (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1829,6 +1829,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLExpressionVisitor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLExpressionVisitor.html
index ce018e9..c4d0e9d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLExpressionVisitor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLExpressionVisitor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.ejbql.EJBQLExpressionVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.ejbql.EJBQLExpressionVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.ejbql.EJBQLExpressionVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.ejbql.EJBQLExpressionVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1031,6 +1031,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLParser.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLParser.html
index 1275974..fd5e84d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLParser.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLParser.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.ejbql.EJBQLParser (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.ejbql.EJBQLParser (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.ejbql.EJBQLParser (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.ejbql.EJBQLParser (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -183,6 +183,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLParserFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLParserFactory.html
index ca9aa24..bd3ba9e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLParserFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/class-use/EJBQLParserFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.EJBQLParserFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.EJBQLParserFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.EJBQLParserFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.EJBQLParserFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-frame.html
index c31f593..22fed1d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.ejbql (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.ejbql (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-summary.html
index 326ef2d..290df03 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.ejbql (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.ejbql (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.ejbql (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.ejbql (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-tree.html
index c2c0114..5b2c630 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.ejbql Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.ejbql Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.ejbql Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.ejbql Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-use.html
index be9f3ea..6e9f132 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.ejbql (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.ejbql (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.ejbql (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.ejbql (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -417,6 +417,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/AggregateConditionNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/AggregateConditionNode.html
index 23f1eed..96480ef 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/AggregateConditionNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/AggregateConditionNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -300,6 +300,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQL.EJBQLDefaultParser.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQL.EJBQLDefaultParser.html
index 6e83431..2fa4a21 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQL.EJBQLDefaultParser.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQL.EJBQLDefaultParser.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQL.EJBQLDefaultParser (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQL.EJBQLDefaultParser (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQL.EJBQLDefaultParser (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQL.EJBQLDefaultParser (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -314,6 +314,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQL.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQL.html
index 1f2114c..e0a9b3a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQL.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQL.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQL (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQL (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQL (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQL (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -2889,6 +2889,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAbs.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAbs.html
index ec8e6f6..b988a03 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAbs.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAbs.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLAbs (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLAbs (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLAbs (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLAbs (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAbstractSchemaName.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAbstractSchemaName.html
index bedc622..aa5ac02 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAbstractSchemaName.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAbstractSchemaName.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLAbstractSchemaName (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLAbstractSchemaName (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLAbstractSchemaName (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLAbstractSchemaName (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAdd.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAdd.html
index e22b9d3..e9a8611 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAdd.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAdd.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLAdd (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLAdd (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLAdd (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLAdd (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAggregate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAggregate.html
index 90d80cf..6f85f3c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAggregate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAggregate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLAggregate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLAggregate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLAggregate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLAggregate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAggregateColumn.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAggregateColumn.html
index e22ecd2..e5d4636 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAggregateColumn.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAggregateColumn.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLAggregateColumn (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLAggregateColumn (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLAggregateColumn (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLAggregateColumn (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -308,6 +308,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAll.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAll.html
index b327c26..4561320 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAll.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAll.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLAll (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLAll (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLAll (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLAll (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAnd.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAnd.html
index 03299e3..f35fcf3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAnd.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAnd.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLAnd (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLAnd (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLAnd (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLAnd (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -350,6 +350,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAny.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAny.html
index f155078..26c7652 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAny.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAny.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLAny (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLAny (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLAny (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLAny (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAscending.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAscending.html
index 3230619..18c5f46 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAscending.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAscending.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLAscending (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLAscending (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLAscending (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLAscending (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAverage.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAverage.html
index 90c77ba..1992b0a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAverage.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLAverage.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLAverage (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLAverage (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLAverage (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLAverage (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -338,6 +338,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLBetween.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLBetween.html
index b597a6f..9fddc3e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLBetween.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLBetween.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLBetween (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLBetween (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLBetween (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLBetween (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLBooleanLiteral.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLBooleanLiteral.html
index acd76d3..02357d8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLBooleanLiteral.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLBooleanLiteral.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLBooleanLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLBooleanLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLBooleanLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLBooleanLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLClassName.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLClassName.html
index 03970c6..e8aa834 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLClassName.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLClassName.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLClassName (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLClassName (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLClassName (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLClassName (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConcat.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConcat.html
index 748136a..0c14f55 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConcat.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConcat.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLConcat (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLConcat (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLConcat (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLConcat (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstants.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstants.html
index e3bf8da..d0831bd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstants.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstants.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1861,6 +1861,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstructor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstructor.html
index e4e75ce..88b9a52 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstructor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstructor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLConstructor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLConstructor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLConstructor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLConstructor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstructorParameter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstructorParameter.html
index fd7dc92..e2bf3e6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstructorParameter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstructorParameter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLConstructorParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLConstructorParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLConstructorParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLConstructorParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstructorParameters.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstructorParameters.html
index 19bbe3f..989b4ef 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstructorParameters.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLConstructorParameters.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLConstructorParameters (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLConstructorParameters (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLConstructorParameters (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLConstructorParameters (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCount.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCount.html
index 935de2a..f626b4a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCount.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCount.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLCount (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLCount (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLCount (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLCount (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -338,6 +338,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCurrentDate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCurrentDate.html
index 7714888..25a6e80 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCurrentDate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCurrentDate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLCurrentDate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLCurrentDate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLCurrentDate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLCurrentDate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCurrentTime.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCurrentTime.html
index 8b7eddd..57a02f6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCurrentTime.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCurrentTime.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLCurrentTime (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLCurrentTime (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLCurrentTime (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLCurrentTime (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCurrentTimestamp.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCurrentTimestamp.html
index 53b837c..5230552 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCurrentTimestamp.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLCurrentTimestamp.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDbPath.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDbPath.html
index bbd5454..4dded3e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDbPath.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDbPath.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLDbPath (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLDbPath (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLDbPath (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLDbPath (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -333,6 +333,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDecimalLiteral.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDecimalLiteral.html
index 79dc859..85a9218 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDecimalLiteral.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDecimalLiteral.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLDecimalLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLDecimalLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLDecimalLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLDecimalLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -312,6 +312,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDelete.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDelete.html
index d5b933f..3195323 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDelete.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDelete.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLDelete (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLDelete (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLDelete (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLDelete (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDescending.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDescending.html
index fc439a1..7a1763b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDescending.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDescending.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLDescending (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLDescending (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLDescending (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLDescending (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDistinct.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDistinct.html
index 830a640..855175a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDistinct.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDistinct.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLDistinct (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLDistinct (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLDistinct (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLDistinct (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDivide.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDivide.html
index 93fb810..d8d17a6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDivide.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLDivide.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLDivide (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLDivide (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLDivide (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLDivide (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLEquals.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLEquals.html
index d0e9936..52beb4e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLEquals.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLEquals.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLEquals (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLEquals (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLEquals (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLEquals (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLEscapeCharacter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLEscapeCharacter.html
index ea4ad24..e6ddc6a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLEscapeCharacter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLEscapeCharacter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLEscapeCharacter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLEscapeCharacter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLEscapeCharacter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLEscapeCharacter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLExists.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLExists.html
index 1e92898..93fd541 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLExists.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLExists.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLExists (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLExists (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLExists (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLExists (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLFrom.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLFrom.html
index 04f8a24..d2a69b6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLFrom.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLFrom.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLFrom (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLFrom (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLFrom (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLFrom (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLFromItem.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLFromItem.html
index a7cf7a9..549eb38 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLFromItem.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLFromItem.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLFromItem (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLFromItem (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLFromItem (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLFromItem (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLGreaterOrEqual.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLGreaterOrEqual.html
index b650d63..481eda3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLGreaterOrEqual.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLGreaterOrEqual.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLGreaterThan.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLGreaterThan.html
index e071050..f9f05ed 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLGreaterThan.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLGreaterThan.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLGreaterThan (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLGreaterThan (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLGreaterThan (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLGreaterThan (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLGroupBy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLGroupBy.html
index ca84cf5..3486db7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLGroupBy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLGroupBy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLGroupBy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLGroupBy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLGroupBy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLGroupBy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLHaving.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLHaving.html
index d1d5f28..3e82ee9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLHaving.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLHaving.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLHaving (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLHaving (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLHaving (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLHaving (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIdentificationVariable.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIdentificationVariable.html
index b77717d..f0da3a0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIdentificationVariable.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIdentificationVariable.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLIdentificationVariable (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLIdentificationVariable (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLIdentificationVariable (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLIdentificationVariable (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -302,6 +302,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIdentifier.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIdentifier.html
index 08fc11d..3de7263 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIdentifier.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIdentifier.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLIdentifier (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLIdentifier (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLIdentifier (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLIdentifier (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -302,6 +302,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIn.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIn.html
index 8ff03c5..0f6a1e9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIn.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIn.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLIn (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLIn (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLIn (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLIn (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLInnerFetchJoin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLInnerFetchJoin.html
index b8108e9..779acc1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLInnerFetchJoin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLInnerFetchJoin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLInnerFetchJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLInnerFetchJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLInnerFetchJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLInnerFetchJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLInnerJoin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLInnerJoin.html
index 872b3e3..6db5fc1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLInnerJoin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLInnerJoin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLInnerJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLInnerJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLInnerJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLInnerJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -311,6 +311,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIntegerLiteral.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIntegerLiteral.html
index 82afe2c..6ed887f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIntegerLiteral.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIntegerLiteral.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLIntegerLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLIntegerLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLIntegerLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLIntegerLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -312,6 +312,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIsEmpty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIsEmpty.html
index ba8a6ec..1d64b49 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIsEmpty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIsEmpty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLIsEmpty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLIsEmpty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLIsEmpty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLIsEmpty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIsNull.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIsNull.html
index c2c31a7..d561bfb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIsNull.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLIsNull.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLIsNull (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLIsNull (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLIsNull (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLIsNull (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLJoin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLJoin.html
index 4269980..f351855 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLJoin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLJoin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -305,6 +305,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLength.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLength.html
index e9c6830..03bc61c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLength.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLength.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLLength (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLLength (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLLength (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLLength (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLessOrEqual.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLessOrEqual.html
index bf630bc..52ebe9c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLessOrEqual.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLessOrEqual.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLessThan.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLessThan.html
index 84b3751..3da0bbd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLessThan.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLessThan.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLLessThan (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLLessThan (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLLessThan (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLLessThan (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLike.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLike.html
index 0b11ee8..8b09af1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLike.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLike.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLLike (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLLike (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLLike (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLLike (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLocate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLocate.html
index c41d0b0..813b49c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLocate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLocate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLLocate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLLocate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLLocate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLLocate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLower.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLower.html
index 8e7d28e..59199f5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLower.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLLower.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLLower (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLLower (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLLower (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLLower (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMax.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMax.html
index 789bbd7..a5b1698 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMax.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMax.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLMax (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLMax (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLMax (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLMax (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -338,6 +338,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMemberOf.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMemberOf.html
index f85b893..59dbebe 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMemberOf.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMemberOf.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLMemberOf (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLMemberOf (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLMemberOf (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLMemberOf (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMin.html
index 5427735..95edef7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLMin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLMin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLMin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLMin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -338,6 +338,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMod.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMod.html
index 4ad2753..136fa1b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMod.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMod.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLMod (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLMod (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLMod (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLMod (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMultiply.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMultiply.html
index 5a7b735..907e9af 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMultiply.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLMultiply.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLMultiply (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLMultiply (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLMultiply (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLMultiply (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNamedInputParameter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNamedInputParameter.html
index 5787e71..077dda6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNamedInputParameter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNamedInputParameter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLNamedInputParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLNamedInputParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLNamedInputParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLNamedInputParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNegative.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNegative.html
index c47ae22..1dddd7b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNegative.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNegative.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLNegative (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLNegative (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLNegative (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLNegative (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNot.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNot.html
index 32ea9f9..63f7465 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNot.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNot.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLNot (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLNot (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLNot (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLNot (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -326,6 +326,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNotEquals.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNotEquals.html
index 72e6f9f..a98b564 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNotEquals.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLNotEquals.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLNotEquals (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLNotEquals (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLNotEquals (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLNotEquals (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOr.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOr.html
index 13145ad..20557c7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOr.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOr.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLOr (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLOr (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLOr (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLOr (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -350,6 +350,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOrderBy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOrderBy.html
index eafbf4c..dbad385 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOrderBy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOrderBy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLOrderBy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLOrderBy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLOrderBy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLOrderBy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOrderByItem.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOrderByItem.html
index a29b552..525f6d8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOrderByItem.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOrderByItem.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLOrderByItem (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLOrderByItem (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLOrderByItem (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLOrderByItem (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOuterFetchJoin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOuterFetchJoin.html
index 168b7f5..5dcff62 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOuterFetchJoin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOuterFetchJoin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLOuterFetchJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLOuterFetchJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLOuterFetchJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLOuterFetchJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOuterJoin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOuterJoin.html
index c489eb6..24613b3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOuterJoin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLOuterJoin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLOuterJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLOuterJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLOuterJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLOuterJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -311,6 +311,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLPath.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLPath.html
index 73eb1a8..913c153 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLPath.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLPath.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLPath (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLPath (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLPath (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLPath (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -366,6 +366,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLPatternValue.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLPatternValue.html
index d33f617..76ad2a5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLPatternValue.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLPatternValue.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLPatternValue (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLPatternValue (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLPatternValue (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLPatternValue (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLPositionalInputParameter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLPositionalInputParameter.html
index e341a9a..918ed8b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLPositionalInputParameter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLPositionalInputParameter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLPositionalInputParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLPositionalInputParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLPositionalInputParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLPositionalInputParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -312,6 +312,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelect.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelect.html
index 3effaa6..f14879c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelect.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelect.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelectClause.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelectClause.html
index 9b85abe..a297243 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelectClause.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelectClause.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLSelectClause (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLSelectClause (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLSelectClause (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLSelectClause (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelectExpression.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelectExpression.html
index c23f327..8762a92 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelectExpression.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelectExpression.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLSelectExpression (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLSelectExpression (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLSelectExpression (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLSelectExpression (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelectExpressions.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelectExpressions.html
index 03e06e6..772d0bd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelectExpressions.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSelectExpressions.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLSelectExpressions (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLSelectExpressions (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLSelectExpressions (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLSelectExpressions (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSize.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSize.html
index a69e662..d72bbdd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSize.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSize.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLSize (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLSize (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLSize (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLSize (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSqrt.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSqrt.html
index 6c08d95..2922d93 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSqrt.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSqrt.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLSqrt (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLSqrt (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLSqrt (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLSqrt (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLStringLiteral.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLStringLiteral.html
index 2a8080d..9be2125 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLStringLiteral.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLStringLiteral.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLStringLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLStringLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLStringLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLStringLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSubselect.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSubselect.html
index 593f858..af5e99e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSubselect.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSubselect.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLSubselect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLSubselect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLSubselect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLSubselect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSubstring.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSubstring.html
index 33b9fbf..080d461 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSubstring.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSubstring.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLSubstring (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLSubstring (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLSubstring (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLSubstring (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSubtract.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSubtract.html
index 7fc6179..60d3656 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSubtract.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSubtract.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLSubtract (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLSubtract (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLSubtract (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLSubtract (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSum.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSum.html
index 04fa154..c597677 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSum.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLSum.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLSum (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLSum (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLSum (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLSum (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -338,6 +338,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTok.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTok.html
index 00acce8..c162066 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTok.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTok.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLTok (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLTok (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLTok (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLTok (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTokenManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTokenManager.html
index 73fc36b..4bdc410 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTokenManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTokenManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLTokenManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLTokenManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLTokenManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLTokenManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -480,6 +480,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTreeConstants.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTreeConstants.html
index c58c556..81835a4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTreeConstants.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTreeConstants.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLTreeConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLTreeConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLTreeConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLTreeConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1746,6 +1746,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrim.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrim.html
index 5a1fdf2..27acecc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrim.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrim.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLTrim (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLTrim (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLTrim (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLTrim (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimBoth.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimBoth.html
index 20e8e04..454ec87 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimBoth.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimBoth.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLTrimBoth (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLTrimBoth (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLTrimBoth (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLTrimBoth (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimCharacter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimCharacter.html
index 149cc2c..580a68a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimCharacter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimCharacter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLTrimCharacter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLTrimCharacter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLTrimCharacter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLTrimCharacter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimLeading.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimLeading.html
index 1dc0442..783d4f4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimLeading.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimLeading.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLTrimLeading (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLTrimLeading (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLTrimLeading (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLTrimLeading (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimSpecification.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimSpecification.html
index 487347e..b444a58 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimSpecification.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimSpecification.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLTrimSpecification (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLTrimSpecification (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLTrimSpecification (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLTrimSpecification (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -260,6 +260,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimTrailing.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimTrailing.html
index 90d3437..69d566b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimTrailing.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLTrimTrailing.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLTrimTrailing (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLTrimTrailing (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLTrimTrailing (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLTrimTrailing (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdate.html
index 7dc96cb..c84253b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLUpdate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLUpdate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLUpdate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLUpdate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdateField.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdateField.html
index 659f290..d30e3a9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdateField.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdateField.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:17 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLUpdateField (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLUpdateField (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLUpdateField (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLUpdateField (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdateItem.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdateItem.html
index 766e32e..c15d67a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdateItem.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdateItem.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLUpdateItem (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLUpdateItem (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLUpdateItem (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLUpdateItem (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdateValue.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdateValue.html
index 6814030..db505c2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdateValue.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpdateValue.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLUpdateValue (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLUpdateValue (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLUpdateValue (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLUpdateValue (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpper.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpper.html
index 287cf06..c219911 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpper.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLUpper.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLUpper (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLUpper (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLUpper (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLUpper (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLWhere.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLWhere.html
index 4278382..4ef6d83 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLWhere.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/EJBQLWhere.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLWhere (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLWhere (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLWhere (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLWhere (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/JJTEJBQLState.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/JJTEJBQLState.html
index 09249c8..f6726bd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/JJTEJBQLState.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/JJTEJBQLState.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>JJTEJBQLState (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>JJTEJBQLState (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JJTEJBQLState (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="JJTEJBQLState (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -402,6 +402,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/JavaCharStream.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/JavaCharStream.html
index 89ab2af..d9039d7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/JavaCharStream.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/JavaCharStream.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1180,6 +1180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/Node.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/Node.html
index 958699a..9d4cc23 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/Node.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/Node.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Node (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Node (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Node (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Node (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/ParseException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/ParseException.html
index e5245e9..74b400b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/ParseException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/ParseException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ParseException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ParseException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ParseException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ParseException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -408,6 +408,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/SimpleNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/SimpleNode.html
index a1b5268..302f9d2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/SimpleNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/SimpleNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SimpleNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SimpleNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimpleNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SimpleNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -605,6 +605,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/Token.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/Token.html
index 4aa9ddb..ca9fee6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/Token.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/Token.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Token (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Token (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Token (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Token (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -550,6 +550,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/TokenMgrError.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/TokenMgrError.html
index 678d432..6adee6b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/TokenMgrError.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/TokenMgrError.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -408,6 +408,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/AggregateConditionNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/AggregateConditionNode.html
index 197fd9e..282ab6a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/AggregateConditionNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/AggregateConditionNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQL.EJBQLDefaultParser.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQL.EJBQLDefaultParser.html
index 3495d7a..a8794fd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQL.EJBQLDefaultParser.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQL.EJBQLDefaultParser.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQL.EJBQLDefaultParser (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQL.EJBQLDefaultParser (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQL.EJBQLDefaultParser (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQL.EJBQLDefaultParser (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQL.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQL.html
index 90fc614..628444d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQL.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQL.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQL (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQL (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQL (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQL (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAbs.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAbs.html
index 0271a1c..d9d443f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAbs.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAbs.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAbs (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAbs (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAbs (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAbs (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAbstractSchemaName.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAbstractSchemaName.html
index 4af47d8..5b65b36 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAbstractSchemaName.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAbstractSchemaName.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAbstractSchemaName (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAbstractSchemaName (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAbstractSchemaName (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAbstractSchemaName (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAdd.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAdd.html
index eb72d4c..8389e1c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAdd.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAdd.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAdd (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAdd (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAdd (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAdd (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAggregate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAggregate.html
index 99d0137..81200d5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAggregate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAggregate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAggregate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAggregate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAggregate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAggregate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAggregateColumn.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAggregateColumn.html
index 565631e..eee6d9f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAggregateColumn.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAggregateColumn.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAggregateColumn (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAggregateColumn (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAggregateColumn (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAggregateColumn (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -235,6 +235,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAll.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAll.html
index ecc7a84..082f271 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAll.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAll.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAll (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAll (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAll (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAll (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAnd.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAnd.html
index f875dbf..2f02dec 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAnd.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAnd.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAnd (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAnd (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAnd (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAnd (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAny.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAny.html
index e80c38e..d1885f8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAny.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAny.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAny (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAny (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAny (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAny (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAscending.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAscending.html
index 5a12ff2..d8d4319 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAscending.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAscending.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAscending (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAscending (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAscending (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAscending (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAverage.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAverage.html
index 0651b26..ffdc364 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAverage.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLAverage.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAverage (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAverage (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAverage (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLAverage (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLBetween.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLBetween.html
index b47b64d..936141f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLBetween.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLBetween.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLBetween (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLBetween (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLBetween (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLBetween (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLBooleanLiteral.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLBooleanLiteral.html
index 938d4db..043f069 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLBooleanLiteral.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLBooleanLiteral.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLBooleanLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLBooleanLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLBooleanLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLBooleanLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLClassName.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLClassName.html
index ce66434..e86ef4d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLClassName.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLClassName.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLClassName (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLClassName (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLClassName (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLClassName (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConcat.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConcat.html
index 5821cc0..85d8e72 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConcat.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConcat.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConcat (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConcat (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConcat (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConcat (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstants.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstants.html
index c12f6b5..d29f4eb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstants.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstants.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.ejbql.parser.EJBQLConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.ejbql.parser.EJBQLConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.ejbql.parser.EJBQLConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.ejbql.parser.EJBQLConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -167,6 +167,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstructor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstructor.html
index 74c029a..4c08358 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstructor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstructor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConstructor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConstructor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConstructor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConstructor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstructorParameter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstructorParameter.html
index a5a37eb..6752d8a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstructorParameter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstructorParameter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConstructorParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConstructorParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConstructorParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConstructorParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstructorParameters.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstructorParameters.html
index 236f21f..987241c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstructorParameters.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLConstructorParameters.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConstructorParameters (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConstructorParameters (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConstructorParameters (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLConstructorParameters (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCount.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCount.html
index 5d37930..1a7c642 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCount.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCount.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCount (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCount (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCount (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCount (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCurrentDate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCurrentDate.html
index 9ce8b25..89c9fb4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCurrentDate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCurrentDate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCurrentDate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCurrentDate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCurrentDate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCurrentDate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCurrentTime.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCurrentTime.html
index c6d3dc4..2fb136f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCurrentTime.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCurrentTime.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCurrentTime (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCurrentTime (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCurrentTime (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCurrentTime (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCurrentTimestamp.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCurrentTimestamp.html
index 5c9b6e9..1e7d649 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCurrentTimestamp.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLCurrentTimestamp.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDbPath.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDbPath.html
index e229b38..fe39d40 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDbPath.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDbPath.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDbPath (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDbPath (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDbPath (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDbPath (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDecimalLiteral.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDecimalLiteral.html
index 44eb563..b6d90ef 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDecimalLiteral.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDecimalLiteral.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDecimalLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDecimalLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDecimalLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDecimalLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDelete.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDelete.html
index 3c2f283..f302f2d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDelete.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDelete.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDelete (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDelete (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDelete (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDelete (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDescending.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDescending.html
index 828f36b..f98f8d0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDescending.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDescending.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDescending (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDescending (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDescending (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDescending (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDistinct.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDistinct.html
index 2b74fe7..407668d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDistinct.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDistinct.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDistinct (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDistinct (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDistinct (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDistinct (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDivide.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDivide.html
index 4c7215a..33c94bf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDivide.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLDivide.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDivide (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDivide (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDivide (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLDivide (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLEquals.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLEquals.html
index 81437ce..25466ee 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLEquals.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLEquals.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLEquals (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLEquals (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLEquals (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLEquals (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLEscapeCharacter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLEscapeCharacter.html
index a61fafe..49f4695 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLEscapeCharacter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLEscapeCharacter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLEscapeCharacter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLEscapeCharacter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLEscapeCharacter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLEscapeCharacter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLExists.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLExists.html
index d07a640..fabcd54 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLExists.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLExists.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLExists (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLExists (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLExists (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLExists (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLFrom.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLFrom.html
index 07ce3ff..cb73efc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLFrom.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLFrom.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLFrom (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLFrom (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLFrom (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLFrom (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLFromItem.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLFromItem.html
index 7c5a4bd..8a804be 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLFromItem.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLFromItem.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLFromItem (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLFromItem (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLFromItem (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLFromItem (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -190,6 +190,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLGreaterOrEqual.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLGreaterOrEqual.html
index 49ecef8..bec4c69 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLGreaterOrEqual.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLGreaterOrEqual.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLGreaterThan.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLGreaterThan.html
index 70f6d5e..cb5ab0a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLGreaterThan.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLGreaterThan.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLGreaterThan (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLGreaterThan (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLGreaterThan (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLGreaterThan (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLGroupBy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLGroupBy.html
index 601ab14..fd2ed0f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLGroupBy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLGroupBy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLGroupBy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLGroupBy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLGroupBy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLGroupBy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLHaving.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLHaving.html
index 30edd34..dbdd3f0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLHaving.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLHaving.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLHaving (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLHaving (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLHaving (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLHaving (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIdentificationVariable.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIdentificationVariable.html
index 7936ebb..fd2f33e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIdentificationVariable.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIdentificationVariable.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIdentificationVariable (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIdentificationVariable (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIdentificationVariable (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIdentificationVariable (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIdentifier.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIdentifier.html
index 6466550..48cf0b3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIdentifier.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIdentifier.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIdentifier (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIdentifier (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIdentifier (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIdentifier (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIn.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIn.html
index dbea51a..6658a43 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIn.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIn.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIn (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIn (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIn (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIn (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLInnerFetchJoin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLInnerFetchJoin.html
index a1fbaf6..b2b1ed7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLInnerFetchJoin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLInnerFetchJoin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLInnerFetchJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLInnerFetchJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLInnerFetchJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLInnerFetchJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLInnerJoin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLInnerJoin.html
index 468fbc0..ecd00f9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLInnerJoin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLInnerJoin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLInnerJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLInnerJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLInnerJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLInnerJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIntegerLiteral.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIntegerLiteral.html
index 90d89b1..e016b52 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIntegerLiteral.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIntegerLiteral.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIntegerLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIntegerLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIntegerLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIntegerLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIsEmpty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIsEmpty.html
index b448fd0..a693533 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIsEmpty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIsEmpty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIsEmpty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIsEmpty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIsEmpty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIsEmpty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIsNull.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIsNull.html
index f1ca4c6..af6210c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIsNull.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLIsNull.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIsNull (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIsNull (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIsNull (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLIsNull (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLJoin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLJoin.html
index 788c8fa..591fc15 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLJoin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLJoin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -257,6 +257,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLength.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLength.html
index 84f2b91..2d564eb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLength.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLength.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLength (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLength (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLength (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLength (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLessOrEqual.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLessOrEqual.html
index f1ecbff..77118c5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLessOrEqual.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLessOrEqual.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLessThan.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLessThan.html
index 5f1485c..57eb46c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLessThan.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLessThan.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLessThan (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLessThan (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLessThan (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLessThan (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLike.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLike.html
index e6e4d4d..84295ab 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLike.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLike.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLike (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLike (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLike (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLike (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLocate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLocate.html
index 023be7d..653638d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLocate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLocate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLocate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLocate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLocate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLocate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLower.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLower.html
index f051c8a..5f8ab99 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLower.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLLower.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLower (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLower (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLower (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLLower (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMax.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMax.html
index 856792e..c30918c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMax.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMax.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMax (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMax (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMax (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMax (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMemberOf.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMemberOf.html
index 39eee17..b91cc7d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMemberOf.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMemberOf.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMemberOf (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMemberOf (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMemberOf (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMemberOf (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMin.html
index b042bd4..d5c1b80 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMod.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMod.html
index b6ec172..250eef4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMod.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMod.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMod (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMod (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMod (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMod (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMultiply.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMultiply.html
index 9e868e7..d28ba99 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMultiply.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLMultiply.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMultiply (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMultiply (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMultiply (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLMultiply (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNamedInputParameter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNamedInputParameter.html
index 180bfd0..57010d0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNamedInputParameter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNamedInputParameter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNamedInputParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNamedInputParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNamedInputParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNamedInputParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNegative.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNegative.html
index e567ccb..ba3e0f6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNegative.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNegative.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNegative (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNegative (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNegative (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNegative (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNot.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNot.html
index 5179459..183f910 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNot.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNot.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNot (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNot (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNot (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNot (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNotEquals.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNotEquals.html
index de5764a..1294a74 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNotEquals.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLNotEquals.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNotEquals (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNotEquals (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNotEquals (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLNotEquals (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOr.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOr.html
index 3fa9a0b..3dcb726 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOr.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOr.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOr (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOr (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOr (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOr (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOrderBy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOrderBy.html
index e360041..da2e0e3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOrderBy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOrderBy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOrderBy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOrderBy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOrderBy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOrderBy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOrderByItem.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOrderByItem.html
index d08a17a..7af4c9b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOrderByItem.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOrderByItem.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOrderByItem (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOrderByItem (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOrderByItem (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOrderByItem (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOuterFetchJoin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOuterFetchJoin.html
index 4dfeaf9..9314995 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOuterFetchJoin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOuterFetchJoin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOuterFetchJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOuterFetchJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOuterFetchJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOuterFetchJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOuterJoin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOuterJoin.html
index 931ccca..46c5d4c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOuterJoin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLOuterJoin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOuterJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOuterJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOuterJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLOuterJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLPath.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLPath.html
index b591820..765da79 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLPath.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLPath.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLPath (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLPath (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLPath (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLPath (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLPatternValue.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLPatternValue.html
index c7a630f..1c35f02 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLPatternValue.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLPatternValue.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLPatternValue (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLPatternValue (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLPatternValue (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLPatternValue (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLPositionalInputParameter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLPositionalInputParameter.html
index b60d6ff..df6d4b3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLPositionalInputParameter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLPositionalInputParameter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLPositionalInputParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLPositionalInputParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLPositionalInputParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLPositionalInputParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -203,6 +203,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelect.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelect.html
index 7a0e6ac..6ac1bbb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelect.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelect.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelectClause.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelectClause.html
index 7fe5e0a..a48f1b4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelectClause.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelectClause.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelectClause (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelectClause (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelectClause (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelectClause (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelectExpression.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelectExpression.html
index bc94364..a98e4d6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelectExpression.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelectExpression.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelectExpression (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelectExpression (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelectExpression (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelectExpression (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelectExpressions.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelectExpressions.html
index 8d87f8e..fec0e24 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelectExpressions.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSelectExpressions.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelectExpressions (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelectExpressions (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelectExpressions (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSelectExpressions (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSize.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSize.html
index 3b5ff7d..2422178 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSize.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSize.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSize (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSize (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSize (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSize (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSqrt.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSqrt.html
index f87627b..61a14ad 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSqrt.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSqrt.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSqrt (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSqrt (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSqrt (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSqrt (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLStringLiteral.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLStringLiteral.html
index bef512d..1331381 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLStringLiteral.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLStringLiteral.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLStringLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLStringLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLStringLiteral (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLStringLiteral (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSubselect.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSubselect.html
index 0cf3c26..d34fbe5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSubselect.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSubselect.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSubselect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSubselect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSubselect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSubselect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSubstring.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSubstring.html
index 4e4e015..72f19b8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSubstring.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSubstring.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSubstring (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSubstring (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSubstring (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSubstring (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSubtract.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSubtract.html
index 8b73ae2..0645b19 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSubtract.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSubtract.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSubtract (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSubtract (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSubtract (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSubtract (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSum.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSum.html
index 9279419..37ead27 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSum.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLSum.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSum (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSum (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSum (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLSum (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTok.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTok.html
index af0e1a8..4c743f9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTok.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTok.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTok (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTok (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTok (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTok (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTokenManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTokenManager.html
index b5de01a..c333a6d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTokenManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTokenManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTokenManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTokenManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTokenManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTokenManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -191,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTreeConstants.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTreeConstants.html
index 33afeac..b5af037 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTreeConstants.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTreeConstants.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.ejbql.parser.EJBQLTreeConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.ejbql.parser.EJBQLTreeConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.ejbql.parser.EJBQLTreeConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.ejbql.parser.EJBQLTreeConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrim.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrim.html
index 7511a3f..960cbf9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrim.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrim.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrim (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrim (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrim (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrim (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimBoth.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimBoth.html
index 53b193e..764854b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimBoth.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimBoth.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimBoth (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimBoth (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimBoth (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimBoth (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimCharacter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimCharacter.html
index 0a088e5..26f7ae0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimCharacter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimCharacter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimCharacter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimCharacter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimCharacter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimCharacter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimLeading.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimLeading.html
index 2d465f3..58497e3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimLeading.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimLeading.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimLeading (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimLeading (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimLeading (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimLeading (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimSpecification.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimSpecification.html
index 8023ad7..d81df5c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimSpecification.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimSpecification.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimSpecification (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimSpecification (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimSpecification (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimSpecification (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimTrailing.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimTrailing.html
index 27821f5..afd204e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimTrailing.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLTrimTrailing.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimTrailing (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimTrailing (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimTrailing (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLTrimTrailing (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdate.html
index a17f628..df7d00e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdateField.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdateField.html
index 11df83b..1415d9c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdateField.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdateField.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdateField (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdateField (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdateField (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdateField (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdateItem.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdateItem.html
index b1a0684..519dfed 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdateItem.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdateItem.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdateItem (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdateItem (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdateItem (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdateItem (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdateValue.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdateValue.html
index 29a8ee8b..8adcaac 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdateValue.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpdateValue.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdateValue (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdateValue (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdateValue (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpdateValue (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpper.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpper.html
index e8d92ad..530d7da 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpper.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLUpper.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpper (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpper (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpper (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLUpper (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLWhere.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLWhere.html
index bf4eb80..306d492 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLWhere.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/EJBQLWhere.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLWhere (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.EJBQLWhere (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLWhere (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.EJBQLWhere (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/JJTEJBQLState.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/JJTEJBQLState.html
index cd7d69c..09eb8c6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/JJTEJBQLState.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/JJTEJBQLState.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.JJTEJBQLState (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.JJTEJBQLState (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.JJTEJBQLState (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.JJTEJBQLState (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/JavaCharStream.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/JavaCharStream.html
index 41d94d2..423b146 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/JavaCharStream.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/JavaCharStream.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -202,6 +202,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/Node.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/Node.html
index 5505458..a30fe89 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/Node.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/Node.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.ejbql.parser.Node (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.ejbql.parser.Node (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.ejbql.parser.Node (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.ejbql.parser.Node (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -636,6 +636,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/ParseException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/ParseException.html
index 784f118..ef9e402 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/ParseException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/ParseException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.ParseException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.ParseException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.ParseException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.ParseException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -684,6 +684,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/SimpleNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/SimpleNode.html
index a0c7617..c542505 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/SimpleNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/SimpleNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.SimpleNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.SimpleNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.SimpleNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.SimpleNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -533,6 +533,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/Token.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/Token.html
index 1bafdcc..09fe06c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/Token.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/Token.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.Token (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.Token (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.Token (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.Token (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -247,6 +247,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/TokenMgrError.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/TokenMgrError.html
index f61f97c..a034cb3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/TokenMgrError.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/class-use/TokenMgrError.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.ejbql.parser.TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.ejbql.parser.TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.ejbql.parser.TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-frame.html
index c648b9f..69f7b9e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.ejbql.parser (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.ejbql.parser (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-summary.html
index b0304ed..d085809 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.ejbql.parser (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.ejbql.parser (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.ejbql.parser (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.ejbql.parser (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -609,6 +609,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-tree.html
index befce8e..6b3be93 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.ejbql.parser Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.ejbql.parser Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.ejbql.parser Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.ejbql.parser Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -275,6 +275,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-use.html
index 21c05a8..fa74b26 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/ejbql/parser/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.ejbql.parser (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.ejbql.parser (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.ejbql.parser (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.ejbql.parser (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -279,6 +279,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/CayenneEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/CayenneEvent.html
index 91a54a0..1af3f0b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/CayenneEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/CayenneEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CayenneEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CayenneEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CayenneEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CayenneEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -465,6 +465,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/DefaultEventManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/DefaultEventManager.html
index d89f882..2e312ea 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/DefaultEventManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/DefaultEventManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultEventManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultEventManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultEventManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultEventManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -735,6 +735,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventBridge.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventBridge.html
index 6c65d3c..246f273 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventBridge.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventBridge.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EventBridge (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EventBridge (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EventBridge (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EventBridge (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -813,6 +813,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventBridgeFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventBridgeFactory.html
index 394650d..d8bd6a2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventBridgeFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventBridgeFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EventBridgeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EventBridgeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EventBridgeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EventBridgeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -234,6 +234,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventManager.html
index 3e869b0..2f1c0b4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EventManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EventManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EventManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EventManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -51,7 +51,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/cayenne/event/EventBridgeFactory.html" title="interface in org.apache.cayenne.event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/cayenne/event/EventManager.html" target="_top">Frames</a></li>
@@ -102,7 +102,7 @@
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/cayenne/event/DefaultEventManager.html" title="class in org.apache.cayenne.event">DefaultEventManager</a></dd>
+<dd><a href="../../../../org/apache/cayenne/event/DefaultEventManager.html" title="class in org.apache.cayenne.event">DefaultEventManager</a>, <a href="../../../../org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></dd>
 </dl>
 <hr>
 <br>
@@ -455,7 +455,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/cayenne/event/EventBridgeFactory.html" title="interface in org.apache.cayenne.event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/cayenne/event/EventManager.html" target="_top">Frames</a></li>
@@ -495,6 +495,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventManagerProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventManagerProvider.html
new file mode 100644
index 0000000..9ea1fad
--- /dev/null
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventManagerProvider.html
@@ -0,0 +1,325 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>EventManagerProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="EventManagerProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/EventManagerProvider.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/cayenne/event/EventManagerProvider.html" target="_top">Frames</a></li>
+<li><a href="EventManagerProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.cayenne.event</div>
+<h2 title="Class EventManagerProvider" class="title">Class EventManagerProvider</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.cayenne.event.EventManagerProvider</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../org/apache/cayenne/di/Provider.html" title="interface in org.apache.cayenne.di">Provider</a>&lt;<a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">EventManagerProvider</span>
+extends <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../org/apache/cayenne/di/Provider.html" title="interface in org.apache.cayenne.di">Provider</a>&lt;<a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a>&gt;</pre>
+<dl>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>4.0.2</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../org/apache/cayenne/configuration/RuntimeProperties.html" title="interface in org.apache.cayenne.configuration">RuntimeProperties</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/event/EventManagerProvider.html#properties">properties</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/event/EventManagerProvider.html#EventManagerProvider-org.apache.cayenne.configuration.RuntimeProperties-">EventManagerProvider</a></span>(<a href="../../../../org/apache/cayenne/configuration/RuntimeProperties.html" title="interface in org.apache.cayenne.configuration">RuntimeProperties</a>&nbsp;properties)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/event/EventManagerProvider.html#get--">get</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="properties">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>properties</h4>
+<pre>protected&nbsp;<a href="../../../../org/apache/cayenne/configuration/RuntimeProperties.html" title="interface in org.apache.cayenne.configuration">RuntimeProperties</a> properties</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="EventManagerProvider-org.apache.cayenne.configuration.RuntimeProperties-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EventManagerProvider</h4>
+<pre>public&nbsp;EventManagerProvider(<a href="../../../../org/apache/cayenne/configuration/RuntimeProperties.html" title="interface in org.apache.cayenne.configuration">RuntimeProperties</a>&nbsp;properties)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="get--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>get</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a>&nbsp;get()
+                 throws <a href="../../../../org/apache/cayenne/di/DIRuntimeException.html" title="class in org.apache.cayenne.di">DIRuntimeException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/di/Provider.html#get--">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/di/Provider.html" title="interface in org.apache.cayenne.di">Provider</a>&lt;<a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a>&gt;</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/di/DIRuntimeException.html" title="class in org.apache.cayenne.di">DIRuntimeException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/EventManagerProvider.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/cayenne/event/EventManagerProvider.html" target="_top">Frames</a></li>
+<li><a href="EventManagerProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventSubject.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventSubject.html
index e856570..9e82245 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventSubject.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/EventSubject.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EventSubject (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EventSubject (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EventSubject (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EventSubject (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -50,7 +50,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/cayenne/event/NoopEventBridge.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -335,7 +335,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/cayenne/event/NoopEventBridge.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -376,6 +376,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/NoopEventBridge.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/NoopEventBridge.html
index 13b3e48..c49cf43 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/NoopEventBridge.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/NoopEventBridge.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NoopEventBridge (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>NoopEventBridge (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NoopEventBridge (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="NoopEventBridge (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -330,6 +330,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/NoopEventBridgeProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/NoopEventBridgeProvider.html
index 6df2a21..2e543af 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/NoopEventBridgeProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/NoopEventBridgeProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NoopEventBridgeProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>NoopEventBridgeProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NoopEventBridgeProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="NoopEventBridgeProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -51,7 +51,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/cayenne/event/NoopEventBridge.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/cayenne/event/NoopEventBridgeProvider.html" target="_top">Frames</a></li>
@@ -244,7 +244,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/cayenne/event/NoopEventBridge.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/cayenne/event/NoopEventBridgeProvider.html" target="_top">Frames</a></li>
@@ -284,6 +284,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/NoopEventManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/NoopEventManager.html
new file mode 100644
index 0000000..8d0df86
--- /dev/null
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/NoopEventManager.html
@@ -0,0 +1,573 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>NoopEventManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="NoopEventManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/NoopEventManager.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/cayenne/event/NoopEventBridgeProvider.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/cayenne/event/NoopEventManager.html" target="_top">Frames</a></li>
+<li><a href="NoopEventManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.cayenne.event</div>
+<h2 title="Class NoopEventManager" class="title">Class NoopEventManager</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.cayenne.event.NoopEventManager</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">NoopEventManager</span>
+extends <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></pre>
+<dl>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>4.0.2</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/event/NoopEventManager.html#NoopEventManager--">NoopEventManager</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/event/NoopEventManager.html#addListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">addListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+           <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
+           <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
+           <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>
+<div class="block">Register an <code>EventListener</code> for events sent by any sender.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/event/NoopEventManager.html#addListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-java.lang.Object-">addListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+           <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
+           <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
+           <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject,
+           <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;sender)</code>
+<div class="block">Register an <code>EventListener</code> for events sent by a specific sender.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/event/NoopEventManager.html#addNonBlockingListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">addNonBlockingListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+                      <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
+                      <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
+                      <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/event/NoopEventManager.html#addNonBlockingListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-java.lang.Object-">addNonBlockingListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+                      <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
+                      <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
+                      <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject,
+                      <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;sender)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/event/NoopEventManager.html#isSingleThreaded--">isSingleThreaded</a></span>()</code>
+<div class="block">Returns true if this EventManager is single-threaded.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/event/NoopEventManager.html#postEvent-java.util.EventObject-org.apache.cayenne.event.EventSubject-">postEvent</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</a>&nbsp;event,
+         <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>
+<div class="block">Sends an event to all registered objects about a particular subject.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/event/NoopEventManager.html#postNonBlockingEvent-java.util.EventObject-org.apache.cayenne.event.EventSubject-">postNonBlockingEvent</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</a>&nbsp;event,
+                    <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>
+<div class="block">Sends an event to all registered objects about a particular subject.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/event/NoopEventManager.html#removeAllListeners-org.apache.cayenne.event.EventSubject-">removeAllListeners</a></span>(<a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>
+<div class="block">Removes all listeners for a given subject.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/event/NoopEventManager.html#removeListener-java.lang.Object-">removeListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener)</code>
+<div class="block">Unregister the specified listener from all event subjects handled by this manager
+ instance.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/event/NoopEventManager.html#removeListener-java.lang.Object-org.apache.cayenne.event.EventSubject-">removeListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+              <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>
+<div class="block">Unregister the specified listener for the events about the given subject.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/event/NoopEventManager.html#removeListener-java.lang.Object-org.apache.cayenne.event.EventSubject-java.lang.Object-">removeListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+              <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject,
+              <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;sender)</code>
+<div class="block">Unregister the specified listener for the events about the given subject and the
+ given sender.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="NoopEventManager--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>NoopEventManager</h4>
+<pre>public&nbsp;NoopEventManager()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="isSingleThreaded--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSingleThreaded</h4>
+<pre>public&nbsp;boolean&nbsp;isSingleThreaded()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html#isSingleThreaded--">EventManager</a></code></span></div>
+<div class="block">Returns true if this EventManager is single-threaded. If so it will throw an
+ exception on any attempt to register an unblocking listener or dispatch a
+ non-blocking event.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/event/EventManager.html#isSingleThreaded--">isSingleThreaded</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="addListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addListener</h4>
+<pre>public&nbsp;void&nbsp;addListener(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+                        <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
+                        <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
+                        <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html#addListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">EventManager</a></code></span></div>
+<div class="block">Register an <code>EventListener</code> for events sent by any sender.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/event/EventManager.html#addListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">addListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="addNonBlockingListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addNonBlockingListener</h4>
+<pre>public&nbsp;void&nbsp;addNonBlockingListener(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+                                   <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
+                                   <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
+                                   <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/event/EventManager.html#addNonBlockingListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">addNonBlockingListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="addListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addListener</h4>
+<pre>public&nbsp;void&nbsp;addListener(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+                        <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
+                        <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
+                        <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject,
+                        <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;sender)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html#addListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-java.lang.Object-">EventManager</a></code></span></div>
+<div class="block">Register an <code>EventListener</code> for events sent by a specific sender.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/event/EventManager.html#addListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-java.lang.Object-">addListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>listener</code> - the object to be notified about events</dd>
+<dd><code>methodName</code> - the name of the listener method to be invoked</dd>
+<dd><code>eventParameterClass</code> - the class of the single event argument passed to
+            <code>methodName</code></dd>
+<dd><code>subject</code> - the event subject that the listener is interested in</dd>
+<dd><code>sender</code> - the object whose events the listener is interested in;
+            <code>null</code> means 'any sender'.</dd>
+</dl>
+</li>
+</ul>
+<a name="addNonBlockingListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addNonBlockingListener</h4>
+<pre>public&nbsp;void&nbsp;addNonBlockingListener(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+                                   <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
+                                   <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
+                                   <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject,
+                                   <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;sender)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/event/EventManager.html#addNonBlockingListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-java.lang.Object-">addNonBlockingListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="removeListener-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeListener</h4>
+<pre>public&nbsp;boolean&nbsp;removeListener(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html#removeListener-java.lang.Object-">EventManager</a></code></span></div>
+<div class="block">Unregister the specified listener from all event subjects handled by this manager
+ instance.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/event/EventManager.html#removeListener-java.lang.Object-">removeListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>listener</code> - the object to be unregistered</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if <code>listener</code> could be removed for any
+         existing subjects, else returns <code>false</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="removeAllListeners-org.apache.cayenne.event.EventSubject-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeAllListeners</h4>
+<pre>public&nbsp;boolean&nbsp;removeAllListeners(<a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html#removeAllListeners-org.apache.cayenne.event.EventSubject-">EventManager</a></code></span></div>
+<div class="block">Removes all listeners for a given subject.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/event/EventManager.html#removeAllListeners-org.apache.cayenne.event.EventSubject-">removeAllListeners</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="removeListener-java.lang.Object-org.apache.cayenne.event.EventSubject-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeListener</h4>
+<pre>public&nbsp;boolean&nbsp;removeListener(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+                              <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html#removeListener-java.lang.Object-org.apache.cayenne.event.EventSubject-">EventManager</a></code></span></div>
+<div class="block">Unregister the specified listener for the events about the given subject.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/event/EventManager.html#removeListener-java.lang.Object-org.apache.cayenne.event.EventSubject-">removeListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>listener</code> - the object to be unregistered</dd>
+<dd><code>subject</code> - the subject from which the listener is to be unregistered</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if <code>listener</code> could be removed for the given
+         subject, else returns <code>false</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="removeListener-java.lang.Object-org.apache.cayenne.event.EventSubject-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeListener</h4>
+<pre>public&nbsp;boolean&nbsp;removeListener(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+                              <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject,
+                              <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;sender)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html#removeListener-java.lang.Object-org.apache.cayenne.event.EventSubject-java.lang.Object-">EventManager</a></code></span></div>
+<div class="block">Unregister the specified listener for the events about the given subject and the
+ given sender.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/event/EventManager.html#removeListener-java.lang.Object-org.apache.cayenne.event.EventSubject-java.lang.Object-">removeListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>listener</code> - the object to be unregistered</dd>
+<dd><code>subject</code> - the subject from which the listener is to be unregistered</dd>
+<dd><code>sender</code> - the object whose events the listener was interested in;
+            <code>null</code> means 'any sender'.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if <code>listener</code> could be removed for the given
+         subject, else returns <code>false</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="postEvent-java.util.EventObject-org.apache.cayenne.event.EventSubject-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>postEvent</h4>
+<pre>public&nbsp;void&nbsp;postEvent(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</a>&nbsp;event,
+                      <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html#postEvent-java.util.EventObject-org.apache.cayenne.event.EventSubject-">EventManager</a></code></span></div>
+<div class="block">Sends an event to all registered objects about a particular subject. Event is sent
+ synchronously, so the sender thread is blocked until all the listeners finish
+ processing the event.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/event/EventManager.html#postEvent-java.util.EventObject-org.apache.cayenne.event.EventSubject-">postEvent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>event</code> - the event to be posted to the observers</dd>
+<dd><code>subject</code> - the subject about which observers will be notified</dd>
+</dl>
+</li>
+</ul>
+<a name="postNonBlockingEvent-java.util.EventObject-org.apache.cayenne.event.EventSubject-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>postNonBlockingEvent</h4>
+<pre>public&nbsp;void&nbsp;postNonBlockingEvent(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</a>&nbsp;event,
+                                 <a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html#postNonBlockingEvent-java.util.EventObject-org.apache.cayenne.event.EventSubject-">EventManager</a></code></span></div>
+<div class="block">Sends an event to all registered objects about a particular subject. Event is
+ queued by EventManager, releasing the sender thread, and is later dispatched in a
+ separate thread.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/cayenne/event/EventManager.html#postNonBlockingEvent-java.util.EventObject-org.apache.cayenne.event.EventSubject-">postNonBlockingEvent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>event</code> - the event to be posted to the observers</dd>
+<dd><code>subject</code> - the subject about which observers will be notified</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/NoopEventManager.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/cayenne/event/NoopEventBridgeProvider.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/cayenne/event/NoopEventManager.html" target="_top">Frames</a></li>
+<li><a href="NoopEventManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/CayenneEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/CayenneEvent.html
index 7ac0b90..206c5d0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/CayenneEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/CayenneEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.event.CayenneEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.event.CayenneEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.event.CayenneEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.event.CayenneEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -279,6 +279,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/DefaultEventManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/DefaultEventManager.html
index 053f8bf..a6f101f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/DefaultEventManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/DefaultEventManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.event.DefaultEventManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.event.DefaultEventManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.event.DefaultEventManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.event.DefaultEventManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventBridge.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventBridge.html
index f208b09..70ddb33 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventBridge.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventBridge.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.event.EventBridge (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.event.EventBridge (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.event.EventBridge (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.event.EventBridge (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -333,6 +333,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventBridgeFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventBridgeFactory.html
index bb37329..9b38c84 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventBridgeFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventBridgeFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.event.EventBridgeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.event.EventBridgeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.event.EventBridgeFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.event.EventBridgeFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventManager.html
index 037452f..89ea9e8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.event.EventManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.event.EventManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.event.EventManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.event.EventManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -293,6 +293,10 @@
 <div class="block">A default implementation of <a href="../../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event"><code>EventManager</code></a>.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
@@ -317,6 +321,10 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EventManagerProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/EventManagerProvider.html#get--">get</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></td>
 <td class="colLast"><span class="typeNameLabel">EventBridge.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/EventBridge.html#getEventManager--">getEventManager</a></span>()</code>
 <div class="block">Returns local EventManager used by the bridge.</div>
 </td>
@@ -476,6 +484,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventManagerProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventManagerProvider.html
new file mode 100644
index 0000000..2cab6bd
--- /dev/null
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventManagerProvider.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.cayenne.event.EventManagerProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.cayenne.event.EventManagerProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/cayenne/event/class-use/EventManagerProvider.html" target="_top">Frames</a></li>
+<li><a href="EventManagerProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.cayenne.event.EventManagerProvider" class="title">Uses of Class<br>org.apache.cayenne.event.EventManagerProvider</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.cayenne.event.EventManagerProvider</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/cayenne/event/class-use/EventManagerProvider.html" target="_top">Frames</a></li>
+<li><a href="EventManagerProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventSubject.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventSubject.html
index 2ff58a5..2172786 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventSubject.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/EventSubject.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.event.EventSubject (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.event.EventSubject (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.event.EventSubject (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.event.EventSubject (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -249,6 +249,13 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">NoopEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/NoopEventManager.html#addListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">addListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+           <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
+           <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
+           <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">EventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/EventManager.html#addListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">addListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
            <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
            <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
@@ -256,14 +263,22 @@
 <div class="block">Register an <code>EventListener</code> for events sent by any sender.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/DefaultEventManager.html#addListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">addListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+           <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
+           <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
+           <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>
+<div class="block">Register an <code>EventListener</code> for events sent by any sender.</div>
+</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">DefaultEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/DefaultEventManager.html#addListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">addListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+<td class="colLast"><span class="typeNameLabel">NoopEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/NoopEventManager.html#addListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-java.lang.Object-">addListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
            <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
            <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
-           <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>
-<div class="block">Register an <code>EventListener</code> for events sent by any sender.</div>
-</td>
+           <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject,
+           <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;sender)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -296,18 +311,33 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/EventManager.html#addNonBlockingListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">addNonBlockingListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+<td class="colLast"><span class="typeNameLabel">NoopEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/NoopEventManager.html#addNonBlockingListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">addNonBlockingListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
                       <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
                       <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
                       <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">EventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/EventManager.html#addNonBlockingListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">addNonBlockingListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+                      <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
+                      <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
+                      <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">DefaultEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/DefaultEventManager.html#addNonBlockingListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-">addNonBlockingListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
                       <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
                       <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
                       <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">NoopEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/NoopEventManager.html#addNonBlockingListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-java.lang.Object-">addNonBlockingListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+                      <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
+                      <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;eventParameterClass,
+                      <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject,
+                      <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;sender)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">EventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/EventManager.html#addNonBlockingListener-java.lang.Object-java.lang.String-java.lang.Class-org.apache.cayenne.event.EventSubject-java.lang.Object-">addNonBlockingListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
@@ -334,17 +364,27 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">NoopEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/NoopEventManager.html#postEvent-java.util.EventObject-org.apache.cayenne.event.EventSubject-">postEvent</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</a>&nbsp;event,
+         <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">EventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/EventManager.html#postEvent-java.util.EventObject-org.apache.cayenne.event.EventSubject-">postEvent</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</a>&nbsp;event,
          <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>
 <div class="block">Sends an event to all registered objects about a particular subject.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/DefaultEventManager.html#postEvent-java.util.EventObject-org.apache.cayenne.event.EventSubject-">postEvent</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</a>&nbsp;event,
+         <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>
+<div class="block">Sends an event to all registered objects about a particular subject.</div>
+</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">DefaultEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/DefaultEventManager.html#postEvent-java.util.EventObject-org.apache.cayenne.event.EventSubject-">postEvent</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</a>&nbsp;event,
-         <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>
-<div class="block">Sends an event to all registered objects about a particular subject.</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">NoopEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/NoopEventManager.html#postNonBlockingEvent-java.util.EventObject-org.apache.cayenne.event.EventSubject-">postNonBlockingEvent</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</a>&nbsp;event,
+                    <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -362,15 +402,24 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">NoopEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/NoopEventManager.html#removeAllListeners-org.apache.cayenne.event.EventSubject-">removeAllListeners</a></span>(<a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">EventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/EventManager.html#removeAllListeners-org.apache.cayenne.event.EventSubject-">removeAllListeners</a></span>(<a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>
 <div class="block">Removes all listeners for a given subject.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/DefaultEventManager.html#removeAllListeners-org.apache.cayenne.event.EventSubject-">removeAllListeners</a></span>(<a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>
+<div class="block">Removes all listeners for a given subject.</div>
+</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">DefaultEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/DefaultEventManager.html#removeAllListeners-org.apache.cayenne.event.EventSubject-">removeAllListeners</a></span>(<a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>
-<div class="block">Removes all listeners for a given subject.</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">NoopEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/NoopEventManager.html#removeListener-java.lang.Object-org.apache.cayenne.event.EventSubject-">removeListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+              <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -388,6 +437,12 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">NoopEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/NoopEventManager.html#removeListener-java.lang.Object-org.apache.cayenne.event.EventSubject-java.lang.Object-">removeListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
+              <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject,
+              <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;sender)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">EventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/EventManager.html#removeListener-java.lang.Object-org.apache.cayenne.event.EventSubject-java.lang.Object-">removeListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
               <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject,
               <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;sender)</code>
@@ -395,7 +450,7 @@
  given sender.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">DefaultEventManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/DefaultEventManager.html#removeListener-java.lang.Object-org.apache.cayenne.event.EventSubject-java.lang.Object-">removeListener</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;listener,
               <a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject,
@@ -404,7 +459,7 @@
  given sender.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">CayenneEvent.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/event/CayenneEvent.html#setSubject-org.apache.cayenne.event.EventSubject-">setSubject</a></span>(<a href="../../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a>&nbsp;subject)</code>&nbsp;</td>
 </tr>
@@ -525,6 +580,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/NoopEventBridge.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/NoopEventBridge.html
index f137594..f15c747 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/NoopEventBridge.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/NoopEventBridge.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.event.NoopEventBridge (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.event.NoopEventBridge (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.event.NoopEventBridge (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.event.NoopEventBridge (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/NoopEventBridgeProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/NoopEventBridgeProvider.html
index c43f366..09e14ba 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/NoopEventBridgeProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/NoopEventBridgeProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.event.NoopEventBridgeProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.event.NoopEventBridgeProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.event.NoopEventBridgeProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.event.NoopEventBridgeProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/NoopEventManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/NoopEventManager.html
new file mode 100644
index 0000000..2c9360a
--- /dev/null
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/class-use/NoopEventManager.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.cayenne.event.NoopEventManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.cayenne.event.NoopEventManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/cayenne/event/class-use/NoopEventManager.html" target="_top">Frames</a></li>
+<li><a href="NoopEventManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.cayenne.event.NoopEventManager" class="title">Uses of Class<br>org.apache.cayenne.event.NoopEventManager</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.cayenne.event.NoopEventManager</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/cayenne/event/class-use/NoopEventManager.html" target="_top">Frames</a></li>
+<li><a href="NoopEventManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-frame.html
index cc3100d..ff35456 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.event (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.event (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -22,9 +22,11 @@
 <li><a href="CayenneEvent.html" title="class in org.apache.cayenne.event" target="classFrame">CayenneEvent</a></li>
 <li><a href="DefaultEventManager.html" title="class in org.apache.cayenne.event" target="classFrame">DefaultEventManager</a></li>
 <li><a href="EventBridge.html" title="class in org.apache.cayenne.event" target="classFrame">EventBridge</a></li>
+<li><a href="EventManagerProvider.html" title="class in org.apache.cayenne.event" target="classFrame">EventManagerProvider</a></li>
 <li><a href="EventSubject.html" title="class in org.apache.cayenne.event" target="classFrame">EventSubject</a></li>
 <li><a href="NoopEventBridge.html" title="class in org.apache.cayenne.event" target="classFrame">NoopEventBridge</a></li>
 <li><a href="NoopEventBridgeProvider.html" title="class in org.apache.cayenne.event" target="classFrame">NoopEventBridgeProvider</a></li>
+<li><a href="NoopEventManager.html" title="class in org.apache.cayenne.event" target="classFrame">NoopEventManager</a></li>
 </ul>
 </div>
 </body>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-summary.html
index c3c6079..9b30c9a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.event (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.event (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.event (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.event (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -133,20 +133,28 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event">EventManagerProvider</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a></td>
 <td class="colLast">
 <div class="block">This class encapsulates the String that is used to identify the <em>subject</em> that
  a listener is interested in.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/cayenne/event/NoopEventBridge.html" title="class in org.apache.cayenne.event">NoopEventBridge</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/cayenne/event/NoopEventBridgeProvider.html" title="class in org.apache.cayenne.event">NoopEventBridgeProvider</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event">NoopEventManager</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -208,6 +216,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-tree.html
index 9f59f7d..0492595 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.event Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.event Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.event Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.event Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -88,6 +88,7 @@
 <li type="circle">org.apache.cayenne.event.<a href="../../../../org/apache/cayenne/event/NoopEventBridge.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">NoopEventBridge</span></a></li>
 </ul>
 </li>
+<li type="circle">org.apache.cayenne.event.<a href="../../../../org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">EventManagerProvider</span></a> (implements org.apache.cayenne.di.<a href="../../../../org/apache/cayenne/di/Provider.html" title="interface in org.apache.cayenne.di">Provider</a>&lt;T&gt;)</li>
 <li type="circle">java.util.<a href="https://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">EventObject</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.cayenne.event.<a href="../../../../org/apache/cayenne/event/CayenneEvent.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">CayenneEvent</span></a></li>
@@ -95,6 +96,7 @@
 </li>
 <li type="circle">org.apache.cayenne.event.<a href="../../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">EventSubject</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.cayenne.event.<a href="../../../../org/apache/cayenne/event/NoopEventBridgeProvider.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">NoopEventBridgeProvider</span></a> (implements org.apache.cayenne.di.<a href="../../../../org/apache/cayenne/di/Provider.html" title="interface in org.apache.cayenne.di">Provider</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.cayenne.event.<a href="../../../../org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">NoopEventManager</span></a> (implements org.apache.cayenne.event.<a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a>)</li>
 </ul>
 </li>
 </ul>
@@ -151,6 +153,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-use.html
index 0c1b370..047db72 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/event/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.event (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.event (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.event (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.event (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -466,6 +466,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/Expression.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/Expression.html
index af78649..aa7d86e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/Expression.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/Expression.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Expression (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Expression (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Expression (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Expression (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1987,6 +1987,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ExpressionException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ExpressionException.html
index 6e47008..b240012 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ExpressionException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ExpressionException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ExpressionException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ExpressionException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExpressionException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ExpressionException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -418,6 +418,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ExpressionFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ExpressionFactory.html
index deb6324..fd81391 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ExpressionFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ExpressionFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1819,6 +1819,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ExpressionParameter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ExpressionParameter.html
index fe20c55..b8361e9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ExpressionParameter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ExpressionParameter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ExpressionParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ExpressionParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExpressionParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ExpressionParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -354,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/FunctionExpressionFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/FunctionExpressionFactory.html
index bb33a8b..0cbf606 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/FunctionExpressionFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/FunctionExpressionFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FunctionExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FunctionExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FunctionExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FunctionExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1294,6 +1294,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/Property.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/Property.html
index e018477..52970ad 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/Property.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/Property.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Property (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Property (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Property (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Property (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1916,6 +1916,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/TraversalHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/TraversalHandler.html
index 2b5eab4..0da11fd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/TraversalHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/TraversalHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TraversalHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>TraversalHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TraversalHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="TraversalHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -301,6 +301,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/TraversalHelper.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/TraversalHelper.html
index 9558ec6..83036b8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/TraversalHelper.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/TraversalHelper.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TraversalHelper (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>TraversalHelper (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TraversalHelper (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="TraversalHelper (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ValueInjector.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ValueInjector.html
index 6819a39..7f743a6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ValueInjector.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/ValueInjector.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ValueInjector (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ValueInjector (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ValueInjector (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ValueInjector (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -229,6 +229,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/Expression.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/Expression.html
index 97b5afe..1645473 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/Expression.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/Expression.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.Expression (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.Expression (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.Expression (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.Expression (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -3314,6 +3314,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ExpressionException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ExpressionException.html
index 205bb85..9b863fc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ExpressionException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ExpressionException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.ExpressionException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.ExpressionException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.ExpressionException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.ExpressionException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -212,6 +212,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ExpressionFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ExpressionFactory.html
index 43f4d2e..b19db2f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ExpressionFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ExpressionFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.ExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.ExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.ExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.ExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ExpressionParameter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ExpressionParameter.html
index ed4955f..5ab3744 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ExpressionParameter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ExpressionParameter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.ExpressionParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.ExpressionParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.ExpressionParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.ExpressionParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/FunctionExpressionFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/FunctionExpressionFactory.html
index 6723205..ba10183 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/FunctionExpressionFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/FunctionExpressionFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.FunctionExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.FunctionExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.FunctionExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.FunctionExpressionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/Property.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/Property.html
index da4a778..d4fbe03 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/Property.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/Property.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.Property (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.Property (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.Property (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.Property (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -544,6 +544,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/TraversalHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/TraversalHandler.html
index 4288158..3c4f639 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/TraversalHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/TraversalHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.exp.TraversalHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.exp.TraversalHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.exp.TraversalHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.exp.TraversalHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -462,6 +462,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/TraversalHelper.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/TraversalHelper.html
index 141d03c..3e6ca54 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/TraversalHelper.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/TraversalHelper.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.TraversalHelper (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.TraversalHelper (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.TraversalHelper (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.TraversalHelper (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ValueInjector.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ValueInjector.html
index 6aeca62..1847170 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ValueInjector.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/class-use/ValueInjector.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.exp.ValueInjector (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.exp.ValueInjector (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.exp.ValueInjector (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.exp.ValueInjector (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -171,6 +171,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-frame.html
index 072b2ad..7eb1dd3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.exp (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.exp (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-summary.html
index 07c9d95..2bfbe81 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.exp (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.exp (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.exp (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.exp (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -226,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-tree.html
index 40c519a..ee8e059 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.exp Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.exp Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.exp Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.exp Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-use.html
index 0eb7eb2..728e049 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.exp (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.exp (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.exp (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.exp (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -595,6 +595,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAbs.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAbs.html
index ae6741b..0833c4b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAbs.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAbs.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTAbs (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTAbs (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTAbs (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTAbs (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -395,6 +395,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAdd.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAdd.html
index eb5e759..3c12924 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAdd.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAdd.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTAdd (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTAdd (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTAdd (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTAdd (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -461,6 +461,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAggregateFunctionCall.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAggregateFunctionCall.html
index 47d04d5..3901886 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAggregateFunctionCall.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAggregateFunctionCall.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTAggregateFunctionCall (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTAggregateFunctionCall (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTAggregateFunctionCall (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTAggregateFunctionCall (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAnd.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAnd.html
index 9411c88..2d7c35f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAnd.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAnd.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTAnd (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTAnd (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTAnd (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTAnd (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -474,6 +474,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAsterisk.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAsterisk.html
index dfe9310..fb24141 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAsterisk.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAsterisk.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTAsterisk (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTAsterisk (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTAsterisk (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTAsterisk (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -462,6 +462,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAvg.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAvg.html
index 6cac659..7ecece2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAvg.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTAvg.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTAvg (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTAvg (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTAvg (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTAvg (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -368,6 +368,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBetween.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBetween.html
index fd54698..c5fab7d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBetween.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBetween.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTBetween (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTBetween (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTBetween (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTBetween (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -438,6 +438,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseAnd.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseAnd.html
index 84cd826..a6cbe8e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseAnd.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseAnd.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTBitwiseAnd (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTBitwiseAnd (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTBitwiseAnd (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTBitwiseAnd (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -485,6 +485,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseLeftShift.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseLeftShift.html
index 110943d..bee7acb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseLeftShift.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseLeftShift.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTBitwiseLeftShift (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTBitwiseLeftShift (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTBitwiseLeftShift (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTBitwiseLeftShift (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -485,6 +485,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseNot.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseNot.html
index ff5e37a..c8641ab 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseNot.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseNot.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTBitwiseNot (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTBitwiseNot (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTBitwiseNot (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTBitwiseNot (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -456,6 +456,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseOr.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseOr.html
index 387c5e1..5700bfa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseOr.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseOr.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTBitwiseOr (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTBitwiseOr (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTBitwiseOr (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTBitwiseOr (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -485,6 +485,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseRightShift.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseRightShift.html
index 818b3d1..f1c4ea5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseRightShift.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseRightShift.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTBitwiseRightShift (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTBitwiseRightShift (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTBitwiseRightShift (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTBitwiseRightShift (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -485,6 +485,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseXor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseXor.html
index 4162726..21a2a6b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseXor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTBitwiseXor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTBitwiseXor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTBitwiseXor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTBitwiseXor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTBitwiseXor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -485,6 +485,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTConcat.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTConcat.html
index 093bb4e..da3d28e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTConcat.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTConcat.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTConcat (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTConcat (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTConcat (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTConcat (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -395,6 +395,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCount.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCount.html
index 3a21d2a..a71b4be 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCount.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCount.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTCount (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTCount (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTCount (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTCount (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -380,6 +380,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCurrentDate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCurrentDate.html
index 0c853c6..d4d99df 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCurrentDate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCurrentDate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTCurrentDate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTCurrentDate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTCurrentDate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTCurrentDate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -412,6 +412,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCurrentTime.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCurrentTime.html
index 1519ca4..9026c6a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCurrentTime.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCurrentTime.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTCurrentTime (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTCurrentTime (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTCurrentTime (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTCurrentTime (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -412,6 +412,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCurrentTimestamp.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCurrentTimestamp.html
index 2b4f30c..4b4385c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCurrentTimestamp.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTCurrentTimestamp.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -412,6 +412,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTDbPath.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTDbPath.html
index 6b97ff3..c9dfdb1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTDbPath.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTDbPath.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTDbPath (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTDbPath (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTDbPath (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTDbPath (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -520,6 +520,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTDivide.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTDivide.html
index 33d04d6..a13e811 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTDivide.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTDivide.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTDivide (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTDivide (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTDivide (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTDivide (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -463,6 +463,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTEqual.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTEqual.html
index 1144192..d23a1e5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTEqual.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTEqual.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -478,6 +478,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTExtract.DateTimePart.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTExtract.DateTimePart.html
index bba57a7..e351a3b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTExtract.DateTimePart.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTExtract.DateTimePart.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTExtract.DateTimePart (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTExtract.DateTimePart (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTExtract.DateTimePart (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTExtract.DateTimePart (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -440,6 +440,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTExtract.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTExtract.html
index 8f47d6e..49f1048 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTExtract.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTExtract.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTExtract (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTExtract (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTExtract (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTExtract (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -497,6 +497,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTFalse.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTFalse.html
index f7ede13..7c90970 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTFalse.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTFalse.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTFalse (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTFalse (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTFalse (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTFalse (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -496,6 +496,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTFullObject.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTFullObject.html
index 2b3d11f..591727e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTFullObject.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTFullObject.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTFullObject (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTFullObject (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTFullObject (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTFullObject (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -423,6 +423,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTFunctionCall.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTFunctionCall.html
index b654f29..201f188 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTFunctionCall.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTFunctionCall.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTFunctionCall (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTFunctionCall (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTFunctionCall (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTFunctionCall (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -529,6 +529,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTGreater.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTGreater.html
index 8c4df23..49f04ed 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTGreater.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTGreater.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTGreater (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTGreater (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTGreater (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTGreater (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -434,6 +434,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTGreaterOrEqual.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTGreaterOrEqual.html
index 08860ff..d3b5d9d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTGreaterOrEqual.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTGreaterOrEqual.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -436,6 +436,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTIn.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTIn.html
index e0f23a8..8a1e96e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTIn.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTIn.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTIn (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTIn (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTIn (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTIn (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -459,6 +459,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLength.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLength.html
index ea65656..6391f74 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLength.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLength.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTLength (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTLength (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTLength (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTLength (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -395,6 +395,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLess.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLess.html
index 9afdcc1..1d5b7f5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLess.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLess.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTLess (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTLess (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTLess (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTLess (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -436,6 +436,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLessOrEqual.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLessOrEqual.html
index 22ea6f4..4bdad1b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLessOrEqual.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLessOrEqual.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -436,6 +436,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLike.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLike.html
index 70ff75b..29948e5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLike.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLike.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTLike (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTLike (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTLike (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTLike (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -469,6 +469,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLikeIgnoreCase.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLikeIgnoreCase.html
index e3f9076..d8af8d9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLikeIgnoreCase.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLikeIgnoreCase.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -518,6 +518,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTList.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTList.html
index aae0193..30c79e8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTList.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTList.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTList (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTList (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTList (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTList (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -660,6 +660,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLocate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLocate.html
index 5fd86eb..890a868 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLocate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLocate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTLocate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTLocate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTLocate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTLocate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -413,6 +413,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLower.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLower.html
index ead97aa..ecd2889 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLower.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTLower.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTLower (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTLower (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTLower (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTLower (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -395,6 +395,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMax.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMax.html
index 2cba259..bb292bc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMax.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMax.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTMax (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTMax (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTMax (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTMax (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -368,6 +368,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMin.html
index 92b5f49..38e43ee 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTMin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTMin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTMin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTMin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -368,6 +368,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMod.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMod.html
index 4e243c5..71f71a7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMod.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMod.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTMod (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTMod (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTMod (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTMod (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -414,6 +414,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMultiply.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMultiply.html
index 56f3dea..528178a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMultiply.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTMultiply.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTMultiply (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTMultiply (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTMultiply (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTMultiply (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -463,6 +463,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNamedParameter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNamedParameter.html
index b227804..d883822 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNamedParameter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNamedParameter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTNamedParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTNamedParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTNamedParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTNamedParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -444,6 +444,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNegate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNegate.html
index f0051dd..378b1be 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNegate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNegate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTNegate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTNegate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTNegate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTNegate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -496,6 +496,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNot.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNot.html
index 31363a7..c4526ad 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNot.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNot.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTNot (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTNot (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTNot (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTNot (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -485,6 +485,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotBetween.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotBetween.html
index 9b7ea32..49fe556 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotBetween.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotBetween.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTNotBetween (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTNotBetween (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTNotBetween (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTNotBetween (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -436,6 +436,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotEqual.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotEqual.html
index 9add9ad..c55ed36 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotEqual.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotEqual.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTNotEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTNotEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTNotEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTNotEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -458,6 +458,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotIn.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotIn.html
index b17d7cf..0a1fd3b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotIn.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotIn.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTNotIn (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTNotIn (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTNotIn (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTNotIn (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -459,6 +459,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotLike.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotLike.html
index 2fbe78b..c7d1a7a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotLike.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotLike.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTNotLike (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTNotLike (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTNotLike (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTNotLike (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -469,6 +469,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotLikeIgnoreCase.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotLikeIgnoreCase.html
index 87dd121..2bf8f45 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotLikeIgnoreCase.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTNotLikeIgnoreCase.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTNotLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTNotLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTNotLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTNotLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -518,6 +518,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTObjPath.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTObjPath.html
index 145d364..cab8bf7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTObjPath.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTObjPath.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTObjPath (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTObjPath (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTObjPath (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTObjPath (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -504,6 +504,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTOr.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTOr.html
index 64ded5b..50fca9b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTOr.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTOr.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTOr (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTOr (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTOr (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTOr (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -456,6 +456,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTPath.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTPath.html
index dc8bbac..d855243 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTPath.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTPath.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTPath (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTPath (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTPath (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTPath (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -508,6 +508,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTScalar.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTScalar.html
index 73eeda0..89bb66b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTScalar.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTScalar.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTScalar (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTScalar (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTScalar (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTScalar (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -543,6 +543,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSqrt.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSqrt.html
index 5723add..256f7b3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSqrt.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSqrt.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTSqrt (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTSqrt (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTSqrt (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTSqrt (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -395,6 +395,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSubstring.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSubstring.html
index f896ae1..fc9d9c7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSubstring.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSubstring.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTSubstring (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTSubstring (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTSubstring (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTSubstring (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -399,6 +399,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSubtract.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSubtract.html
index dbc75f7..e9cb205 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSubtract.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSubtract.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTSubtract (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTSubtract (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTSubtract (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTSubtract (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -463,6 +463,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSum.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSum.html
index 26f9c03..459ea9a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSum.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTSum.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTSum (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTSum (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTSum (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTSum (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -368,6 +368,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTTrim.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTTrim.html
index 4179c76..9300d8c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTTrim.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTTrim.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTTrim (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTTrim (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTTrim (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTTrim (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -434,6 +434,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTTrue.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTTrue.html
index 6d75ef2..ca0c8b5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTTrue.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTTrue.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTTrue (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTTrue (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTTrue (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTTrue (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -494,6 +494,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTUpper.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTUpper.html
index 0d4bcbd..818db49 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTUpper.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ASTUpper.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ASTUpper (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ASTUpper (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ASTUpper (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ASTUpper (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -395,6 +395,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/AggregateConditionNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/AggregateConditionNode.html
index af44b5b..8b4bd2e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/AggregateConditionNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/AggregateConditionNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -384,6 +384,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ConditionNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ConditionNode.html
index 27a8262..339759e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ConditionNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ConditionNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ConditionNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ConditionNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ConditionNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ConditionNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -398,6 +398,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/EvaluatedBitwiseNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/EvaluatedBitwiseNode.html
index daee751..0400513 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/EvaluatedBitwiseNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/EvaluatedBitwiseNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EvaluatedBitwiseNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EvaluatedBitwiseNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EvaluatedBitwiseNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EvaluatedBitwiseNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -383,6 +383,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/EvaluatedMathNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/EvaluatedMathNode.html
index c0866af..2ee023d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/EvaluatedMathNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/EvaluatedMathNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EvaluatedMathNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EvaluatedMathNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EvaluatedMathNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EvaluatedMathNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -383,6 +383,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/EvaluatedNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/EvaluatedNode.html
index dbed410..0d7d865 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/EvaluatedNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/EvaluatedNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EvaluatedNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EvaluatedNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EvaluatedNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EvaluatedNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -374,6 +374,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParser.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParser.html
index 0ee5c88..2d7cb09 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParser.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParser.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ExpressionParser (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ExpressionParser (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExpressionParser (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ExpressionParser (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1423,6 +1423,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParserConstants.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParserConstants.html
index e89f9a2..e2e1b32 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParserConstants.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParserConstants.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ExpressionParserConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ExpressionParserConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExpressionParserConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ExpressionParserConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1221,6 +1221,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParserTokenManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParserTokenManager.html
index 4fd0716..27df4ac 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParserTokenManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParserTokenManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ExpressionParserTokenManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ExpressionParserTokenManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExpressionParserTokenManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ExpressionParserTokenManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -496,6 +496,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParserTreeConstants.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParserTreeConstants.html
index c83cea2..5ddf3b5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParserTreeConstants.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ExpressionParserTreeConstants.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ExpressionParserTreeConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ExpressionParserTreeConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExpressionParserTreeConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ExpressionParserTreeConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1168,6 +1168,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/JJTExpressionParserState.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/JJTExpressionParserState.html
index 8f0f89e..efe57cd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/JJTExpressionParserState.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/JJTExpressionParserState.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>JJTExpressionParserState (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>JJTExpressionParserState (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JJTExpressionParserState (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="JJTExpressionParserState (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -402,6 +402,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/JavaCharStream.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/JavaCharStream.html
index 159f7d2..8203841 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/JavaCharStream.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/JavaCharStream.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1180,6 +1180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/Node.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/Node.html
index f9c2ddf..f2a0e3f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/Node.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/Node.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Node (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Node (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Node (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Node (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -337,6 +337,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ParseException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ParseException.html
index 7713152..1854018 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ParseException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/ParseException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ParseException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ParseException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ParseException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ParseException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -408,6 +408,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/PatternMatchNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/PatternMatchNode.html
index 3a6438a..8ad06d4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/PatternMatchNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/PatternMatchNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PatternMatchNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PatternMatchNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PatternMatchNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PatternMatchNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -484,6 +484,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/SimpleNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/SimpleNode.html
index 8d7663c..85f3f66 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/SimpleNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/SimpleNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SimpleNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SimpleNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimpleNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SimpleNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1094,6 +1094,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/Token.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/Token.html
index 3e1454a..97fbabf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/Token.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/Token.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Token (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Token (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Token (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Token (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -550,6 +550,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/TokenMgrError.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/TokenMgrError.html
index ffc022f..0349e05 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/TokenMgrError.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/TokenMgrError.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -408,6 +408,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAbs.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAbs.html
index 2470da0..2c6e2a5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAbs.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAbs.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTAbs (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTAbs (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTAbs (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTAbs (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAdd.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAdd.html
index 858d2d2..21e10b3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAdd.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAdd.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTAdd (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTAdd (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTAdd (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTAdd (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAggregateFunctionCall.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAggregateFunctionCall.html
index 252c6dc..7a0be6d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAggregateFunctionCall.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAggregateFunctionCall.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTAggregateFunctionCall (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTAggregateFunctionCall (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTAggregateFunctionCall (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTAggregateFunctionCall (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -179,6 +179,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAnd.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAnd.html
index 9ffb9b1..6a0808a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAnd.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAnd.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTAnd (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTAnd (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTAnd (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTAnd (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAsterisk.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAsterisk.html
index 338e5c8..e41bec7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAsterisk.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAsterisk.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTAsterisk (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTAsterisk (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTAsterisk (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTAsterisk (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAvg.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAvg.html
index 957c0ca..c49a1c2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAvg.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTAvg.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTAvg (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTAvg (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTAvg (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTAvg (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBetween.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBetween.html
index d67b507..fb8f37a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBetween.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBetween.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTBetween (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTBetween (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTBetween (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTBetween (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseAnd.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseAnd.html
index b5a130a..80b7d02 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseAnd.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseAnd.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseAnd (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseAnd (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseAnd (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseAnd (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseLeftShift.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseLeftShift.html
index 8dd40eb..e4217b9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseLeftShift.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseLeftShift.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseLeftShift (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseLeftShift (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseLeftShift (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseLeftShift (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseNot.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseNot.html
index 247908a..52360e8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseNot.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseNot.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseNot (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseNot (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseNot (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseNot (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseOr.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseOr.html
index 604395a..ea68421 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseOr.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseOr.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseOr (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseOr (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseOr (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseOr (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseRightShift.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseRightShift.html
index 79ce8a8..b814a76 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseRightShift.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseRightShift.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseRightShift (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseRightShift (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseRightShift (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseRightShift (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseXor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseXor.html
index c18d963..442b9f4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseXor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTBitwiseXor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseXor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseXor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseXor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTBitwiseXor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTConcat.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTConcat.html
index a4c6e53..1c37751 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTConcat.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTConcat.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTConcat (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTConcat (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTConcat (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTConcat (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCount.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCount.html
index 7e9b23d..34af223 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCount.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCount.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTCount (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTCount (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTCount (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTCount (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCurrentDate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCurrentDate.html
index 4678a12..dc09bb2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCurrentDate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCurrentDate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTCurrentDate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTCurrentDate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTCurrentDate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTCurrentDate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCurrentTime.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCurrentTime.html
index ea3f858..38f542a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCurrentTime.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCurrentTime.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTCurrentTime (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTCurrentTime (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTCurrentTime (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTCurrentTime (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCurrentTimestamp.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCurrentTimestamp.html
index 96a3832..a7a0ae0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCurrentTimestamp.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTCurrentTimestamp.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTCurrentTimestamp (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTDbPath.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTDbPath.html
index a0d823b..20c017b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTDbPath.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTDbPath.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTDbPath (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTDbPath (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTDbPath (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTDbPath (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTDivide.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTDivide.html
index 58cd148..99e155e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTDivide.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTDivide.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTDivide (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTDivide (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTDivide (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTDivide (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTEqual.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTEqual.html
index 0b17a32..ffb8e8e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTEqual.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTEqual.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTExtract.DateTimePart.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTExtract.DateTimePart.html
index ca1b1dd..674f5ff 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTExtract.DateTimePart.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTExtract.DateTimePart.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTExtract.DateTimePart (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTExtract.DateTimePart (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTExtract.DateTimePart (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTExtract.DateTimePart (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -191,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTExtract.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTExtract.html
index 55fb53b..8cfafa0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTExtract.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTExtract.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTExtract (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTExtract (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTExtract (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTExtract (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -401,6 +401,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTFalse.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTFalse.html
index cd65e3c..ff3b754 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTFalse.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTFalse.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTFalse (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTFalse (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTFalse (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTFalse (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTFullObject.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTFullObject.html
index 317da7a..07ab6dd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTFullObject.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTFullObject.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTFullObject (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTFullObject (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTFullObject (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTFullObject (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTFunctionCall.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTFunctionCall.html
index 6afb143..0165986 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTFunctionCall.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTFunctionCall.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTFunctionCall (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTFunctionCall (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTFunctionCall (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTFunctionCall (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -582,6 +582,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTGreater.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTGreater.html
index 7703a64..62e33a2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTGreater.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTGreater.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTGreater (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTGreater (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTGreater (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTGreater (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTGreaterOrEqual.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTGreaterOrEqual.html
index 19b0a45..b810b26 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTGreaterOrEqual.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTGreaterOrEqual.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTGreaterOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTIn.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTIn.html
index 44ddcc8..1ea18b6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTIn.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTIn.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTIn (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTIn (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTIn (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTIn (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLength.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLength.html
index d3595f4..58c57e1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLength.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLength.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTLength (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTLength (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTLength (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTLength (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLess.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLess.html
index e44f588..06197e7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLess.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLess.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTLess (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTLess (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTLess (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTLess (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLessOrEqual.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLessOrEqual.html
index 5b2b596..68d6cc5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLessOrEqual.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLessOrEqual.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTLessOrEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLike.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLike.html
index 39a7d6e..4e1aa27 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLike.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLike.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTLike (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTLike (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTLike (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTLike (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLikeIgnoreCase.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLikeIgnoreCase.html
index af442b6..c2f6b78 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLikeIgnoreCase.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLikeIgnoreCase.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTList.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTList.html
index 8130c5a..e783499 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTList.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTList.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTList (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTList (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTList (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTList (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLocate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLocate.html
index de8fedc..8dc23d4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLocate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLocate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTLocate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTLocate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTLocate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTLocate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLower.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLower.html
index 33285fb..c7f069f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLower.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTLower.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTLower (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTLower (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTLower (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTLower (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMax.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMax.html
index 9032d6e..c211478 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMax.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMax.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTMax (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTMax (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTMax (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTMax (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMin.html
index baef777..ac2baae 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTMin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTMin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTMin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTMin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMod.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMod.html
index eb15d3c..161b322 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMod.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMod.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTMod (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTMod (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTMod (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTMod (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMultiply.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMultiply.html
index 37ebb54..0dce521 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMultiply.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTMultiply.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTMultiply (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTMultiply (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTMultiply (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTMultiply (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNamedParameter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNamedParameter.html
index c2b6969..6730903 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNamedParameter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNamedParameter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTNamedParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTNamedParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNamedParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNamedParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNegate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNegate.html
index 420cf9c..285c856 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNegate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNegate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTNegate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTNegate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNegate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNegate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNot.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNot.html
index 75ac5f0..6a995d4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNot.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNot.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTNot (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTNot (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNot (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNot (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotBetween.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotBetween.html
index 24c2038..3a2ac80 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotBetween.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotBetween.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTNotBetween (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTNotBetween (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNotBetween (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNotBetween (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotEqual.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotEqual.html
index c7f216a..144053f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotEqual.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotEqual.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTNotEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTNotEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNotEqual (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNotEqual (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotIn.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotIn.html
index 79be051..6e104b3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotIn.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotIn.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTNotIn (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTNotIn (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNotIn (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNotIn (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotLike.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotLike.html
index 8b665ac..b494213 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotLike.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotLike.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTNotLike (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTNotLike (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNotLike (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNotLike (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotLikeIgnoreCase.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotLikeIgnoreCase.html
index 001872a..511d416 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotLikeIgnoreCase.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTNotLikeIgnoreCase.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTNotLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTNotLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNotLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTNotLikeIgnoreCase (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTObjPath.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTObjPath.html
index ef50c9c..14c078e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTObjPath.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTObjPath.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTObjPath (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTObjPath (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTObjPath (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTObjPath (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTOr.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTOr.html
index a373fe8..df49e7f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTOr.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTOr.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTOr (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTOr (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTOr (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTOr (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTPath.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTPath.html
index aa48ff2..37eb68f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTPath.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTPath.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTPath (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTPath (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTPath (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTPath (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTScalar.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTScalar.html
index 2284f81..d46fbc8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTScalar.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTScalar.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTScalar (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTScalar (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTScalar (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTScalar (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSqrt.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSqrt.html
index 4f01375..5793065 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSqrt.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSqrt.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTSqrt (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTSqrt (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTSqrt (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTSqrt (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSubstring.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSubstring.html
index 47c6cd6..0e4b4f7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSubstring.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSubstring.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTSubstring (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTSubstring (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTSubstring (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTSubstring (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSubtract.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSubtract.html
index 0707991..75c39f5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSubtract.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSubtract.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTSubtract (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTSubtract (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTSubtract (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTSubtract (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSum.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSum.html
index 119ecdc..375bce9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSum.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTSum.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTSum (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTSum (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTSum (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTSum (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTTrim.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTTrim.html
index 531183d..405f59b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTTrim.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTTrim.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTTrim (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTTrim (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTTrim (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTTrim (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTTrue.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTTrue.html
index 4753213..287dcbe 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTTrue.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTTrue.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTTrue (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTTrue (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTTrue (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTTrue (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTUpper.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTUpper.html
index 27a16ec..2107001 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTUpper.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ASTUpper.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ASTUpper (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ASTUpper (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTUpper (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ASTUpper (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/AggregateConditionNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/AggregateConditionNode.html
index 7fb6d09..af7e662 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/AggregateConditionNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/AggregateConditionNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.AggregateConditionNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ConditionNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ConditionNode.html
index e85cbb9..5003c5e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ConditionNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ConditionNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ConditionNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ConditionNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ConditionNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ConditionNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -265,6 +265,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/EvaluatedBitwiseNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/EvaluatedBitwiseNode.html
index c1ddc48..670824c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/EvaluatedBitwiseNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/EvaluatedBitwiseNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.EvaluatedBitwiseNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.EvaluatedBitwiseNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.EvaluatedBitwiseNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.EvaluatedBitwiseNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -189,6 +189,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/EvaluatedMathNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/EvaluatedMathNode.html
index d7105ae..f4804ac 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/EvaluatedMathNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/EvaluatedMathNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.EvaluatedMathNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.EvaluatedMathNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.EvaluatedMathNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.EvaluatedMathNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -183,6 +183,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/EvaluatedNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/EvaluatedNode.html
index a5b1229..4c20e1d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/EvaluatedNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/EvaluatedNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.EvaluatedNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.EvaluatedNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.EvaluatedNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.EvaluatedNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -314,6 +314,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParser.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParser.html
index cb7f8ae..99c721c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParser.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParser.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ExpressionParser (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ExpressionParser (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ExpressionParser (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ExpressionParser (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParserConstants.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParserConstants.html
index b26048f..aa82dc7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParserConstants.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParserConstants.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.exp.parser.ExpressionParserConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.exp.parser.ExpressionParserConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.exp.parser.ExpressionParserConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.exp.parser.ExpressionParserConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -171,6 +171,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParserTokenManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParserTokenManager.html
index dd4c73b..4a06f31 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParserTokenManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParserTokenManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ExpressionParserTokenManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ExpressionParserTokenManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ExpressionParserTokenManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ExpressionParserTokenManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -193,6 +193,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParserTreeConstants.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParserTreeConstants.html
index e967ef3..ce364a5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParserTreeConstants.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ExpressionParserTreeConstants.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.exp.parser.ExpressionParserTreeConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.exp.parser.ExpressionParserTreeConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.exp.parser.ExpressionParserTreeConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.exp.parser.ExpressionParserTreeConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/JJTExpressionParserState.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/JJTExpressionParserState.html
index f3a4eec..908962e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/JJTExpressionParserState.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/JJTExpressionParserState.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.JJTExpressionParserState (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.JJTExpressionParserState (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.JJTExpressionParserState (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.JJTExpressionParserState (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/JavaCharStream.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/JavaCharStream.html
index c3e5b24..adaca06 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/JavaCharStream.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/JavaCharStream.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.JavaCharStream (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -204,6 +204,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/Node.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/Node.html
index 9b50c22..133c93b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/Node.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/Node.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.exp.parser.Node (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.exp.parser.Node (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.exp.parser.Node (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.exp.parser.Node (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -672,6 +672,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ParseException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ParseException.html
index 5c51b93..cb73928 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ParseException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/ParseException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.ParseException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.ParseException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ParseException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.ParseException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -366,6 +366,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/PatternMatchNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/PatternMatchNode.html
index 0aef3d6..4086cfc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/PatternMatchNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/PatternMatchNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.PatternMatchNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.PatternMatchNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.PatternMatchNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.PatternMatchNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -233,6 +233,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/SimpleNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/SimpleNode.html
index d97a581..006969c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/SimpleNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/SimpleNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.SimpleNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.SimpleNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.SimpleNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.SimpleNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -594,6 +594,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/Token.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/Token.html
index 9c2e820..f16b023 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/Token.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/Token.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.Token (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.Token (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.Token (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.Token (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -249,6 +249,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/TokenMgrError.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/TokenMgrError.html
index 04fe59e..e23b53a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/TokenMgrError.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/class-use/TokenMgrError.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.exp.parser.TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.exp.parser.TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.exp.parser.TokenMgrError (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-frame.html
index 84c084e..c97bed3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.exp.parser (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.exp.parser (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-summary.html
index 6e047c4..0f3b7bf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.exp.parser (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.exp.parser (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.exp.parser (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.exp.parser (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -603,6 +603,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-tree.html
index f651033..2908922 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.exp.parser Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.exp.parser Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.exp.parser Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.exp.parser Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -273,6 +273,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-use.html
index ebb8d1e..a1d2c77 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/exp/parser/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.exp.parser (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.exp.parser (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.exp.parser (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.exp.parser (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -514,6 +514,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/ArcCreateOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/ArcCreateOperation.html
index d4cb443..78249de 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/ArcCreateOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/ArcCreateOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ArcCreateOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ArcCreateOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ArcCreateOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ArcCreateOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -427,6 +427,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/ArcDeleteOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/ArcDeleteOperation.html
index 345f75a..ae3ef62 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/ArcDeleteOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/ArcDeleteOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ArcDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ArcDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ArcDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ArcDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -427,6 +427,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/ChildDiffLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/ChildDiffLoader.html
index 6e15adf..56a3690 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/ChildDiffLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/ChildDiffLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ChildDiffLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ChildDiffLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ChildDiffLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ChildDiffLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -513,6 +513,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/CompoundDiff.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/CompoundDiff.html
index dcc7c7a..f1feddd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/CompoundDiff.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/CompoundDiff.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CompoundDiff (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CompoundDiff (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CompoundDiff (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CompoundDiff (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -426,6 +426,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphChangeHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphChangeHandler.html
index a86808c..f7de494 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphChangeHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphChangeHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GraphChangeHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>GraphChangeHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="GraphChangeHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="GraphChangeHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -333,6 +333,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphDiff.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphDiff.html
index 79f636e..b8b0843 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphDiff.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphDiff.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GraphDiff (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>GraphDiff (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="GraphDiff (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="GraphDiff (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -270,6 +270,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphDiffCompressor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphDiffCompressor.html
index 92af0f1..b9da8ea 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphDiffCompressor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphDiffCompressor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GraphDiffCompressor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>GraphDiffCompressor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="GraphDiffCompressor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="GraphDiffCompressor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -274,6 +274,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphEvent.html
index 806604e..917fe4d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GraphEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>GraphEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="GraphEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="GraphEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -377,6 +377,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphManager.html
index ff52aaf..93fefd0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GraphManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>GraphManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="GraphManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="GraphManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -296,6 +296,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphMap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphMap.html
index d4713a6..762b67c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphMap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/GraphMap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GraphMap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>GraphMap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="GraphMap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="GraphMap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -539,6 +539,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeCreateOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeCreateOperation.html
index 54f52cd..17c54eb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeCreateOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeCreateOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NodeCreateOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>NodeCreateOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NodeCreateOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="NodeCreateOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeDeleteOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeDeleteOperation.html
index c1d689d..15e6a2f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeDeleteOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeDeleteOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NodeDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>NodeDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NodeDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="NodeDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeDiff.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeDiff.html
index 331f4fb..37c4faf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeDiff.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeDiff.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NodeDiff (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>NodeDiff (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NodeDiff (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="NodeDiff (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -471,6 +471,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeIdChangeOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeIdChangeOperation.html
index 703ade9..4b9d639 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeIdChangeOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodeIdChangeOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NodeIdChangeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>NodeIdChangeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NodeIdChangeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="NodeIdChangeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -385,6 +385,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodePropertyChangeOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodePropertyChangeOperation.html
index 3442ac8..d4507ff 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodePropertyChangeOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/NodePropertyChangeOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NodePropertyChangeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>NodePropertyChangeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NodePropertyChangeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="NodePropertyChangeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -457,6 +457,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/ArcCreateOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/ArcCreateOperation.html
index d45d199..ef3adef 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/ArcCreateOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/ArcCreateOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.graph.ArcCreateOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.graph.ArcCreateOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.graph.ArcCreateOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.graph.ArcCreateOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/ArcDeleteOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/ArcDeleteOperation.html
index 0675cad..2cfd8d5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/ArcDeleteOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/ArcDeleteOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.graph.ArcDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.graph.ArcDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.graph.ArcDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.graph.ArcDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/ChildDiffLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/ChildDiffLoader.html
index d0f5ab9..1570b40 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/ChildDiffLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/ChildDiffLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.graph.ChildDiffLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.graph.ChildDiffLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.graph.ChildDiffLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.graph.ChildDiffLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/CompoundDiff.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/CompoundDiff.html
index ad5b002..065a82f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/CompoundDiff.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/CompoundDiff.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.graph.CompoundDiff (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.graph.CompoundDiff (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.graph.CompoundDiff (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.graph.CompoundDiff (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphChangeHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphChangeHandler.html
index 9da873a..49671b7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphChangeHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphChangeHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.graph.GraphChangeHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.graph.GraphChangeHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.graph.GraphChangeHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.graph.GraphChangeHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -334,6 +334,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphDiff.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphDiff.html
index f2943f5..8adc306 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphDiff.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphDiff.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.graph.GraphDiff (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.graph.GraphDiff (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.graph.GraphDiff (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.graph.GraphDiff (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -645,6 +645,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphDiffCompressor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphDiffCompressor.html
index e05f2c6..1655044 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphDiffCompressor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphDiffCompressor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.graph.GraphDiffCompressor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.graph.GraphDiffCompressor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.graph.GraphDiffCompressor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.graph.GraphDiffCompressor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphEvent.html
index a9e8a81..0618480 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.graph.GraphEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.graph.GraphEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.graph.GraphEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.graph.GraphEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -180,6 +180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphManager.html
index ecf238b..1539cfa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.graph.GraphManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.graph.GraphManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.graph.GraphManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.graph.GraphManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -264,6 +264,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphMap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphMap.html
index 7083de4..6cae4f9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphMap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/GraphMap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.graph.GraphMap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.graph.GraphMap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.graph.GraphMap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.graph.GraphMap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeCreateOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeCreateOperation.html
index 0b33917..b50438d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeCreateOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeCreateOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.graph.NodeCreateOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.graph.NodeCreateOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.graph.NodeCreateOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.graph.NodeCreateOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeDeleteOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeDeleteOperation.html
index 831b036..666e076 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeDeleteOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeDeleteOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.graph.NodeDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.graph.NodeDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.graph.NodeDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.graph.NodeDeleteOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeDiff.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeDiff.html
index ebe3169..827e762 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeDiff.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeDiff.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.graph.NodeDiff (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.graph.NodeDiff (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.graph.NodeDiff (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.graph.NodeDiff (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -201,6 +201,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeIdChangeOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeIdChangeOperation.html
index 51480de..bd9dec5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeIdChangeOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodeIdChangeOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.graph.NodeIdChangeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.graph.NodeIdChangeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.graph.NodeIdChangeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.graph.NodeIdChangeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodePropertyChangeOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodePropertyChangeOperation.html
index 7073b96..54a9153 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodePropertyChangeOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/class-use/NodePropertyChangeOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.graph.NodePropertyChangeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.graph.NodePropertyChangeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.graph.NodePropertyChangeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.graph.NodePropertyChangeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-frame.html
index 9bb080f..f5bd131 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.graph (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.graph (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-summary.html
index f134680..3fb3697 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.graph (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.graph (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.graph (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.graph (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -241,6 +241,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-tree.html
index 25cefb8..50b8a50 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.graph Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.graph Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.graph Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.graph Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-use.html
index c16eea1..00eb81c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/graph/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.graph (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.graph (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.graph (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.graph (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -298,6 +298,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/FormattedSlf4jJdbcEventLogger.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/FormattedSlf4jJdbcEventLogger.html
index 7fe964b..1ccbc94 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/FormattedSlf4jJdbcEventLogger.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/FormattedSlf4jJdbcEventLogger.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FormattedSlf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FormattedSlf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FormattedSlf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FormattedSlf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -321,6 +321,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/JdbcEventLogger.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/JdbcEventLogger.html
index 0afa6ed..8fe5c28 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/JdbcEventLogger.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/JdbcEventLogger.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>JdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>JdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="JdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -587,6 +587,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/NoopJdbcEventLogger.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/NoopJdbcEventLogger.html
index ecc10bf..383ae98 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/NoopJdbcEventLogger.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/NoopJdbcEventLogger.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NoopJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>NoopJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NoopJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="NoopJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -661,6 +661,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/Slf4jJdbcEventLogger.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/Slf4jJdbcEventLogger.html
index 53bf794..1c7db5e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/Slf4jJdbcEventLogger.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/Slf4jJdbcEventLogger.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Slf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Slf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Slf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Slf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -729,6 +729,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/FormattedSlf4jJdbcEventLogger.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/FormattedSlf4jJdbcEventLogger.html
index 7f03810..e0aa07b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/FormattedSlf4jJdbcEventLogger.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/FormattedSlf4jJdbcEventLogger.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.log.FormattedSlf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.log.FormattedSlf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.log.FormattedSlf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.log.FormattedSlf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/JdbcEventLogger.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/JdbcEventLogger.html
index 59bc67e..15cc5e1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/JdbcEventLogger.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/JdbcEventLogger.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.log.JdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.log.JdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.log.JdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.log.JdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -438,6 +438,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/NoopJdbcEventLogger.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/NoopJdbcEventLogger.html
index 60da98a..1bbd417 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/NoopJdbcEventLogger.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/NoopJdbcEventLogger.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.log.NoopJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.log.NoopJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.log.NoopJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.log.NoopJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/Slf4jJdbcEventLogger.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/Slf4jJdbcEventLogger.html
index 26d9be1..36dfda6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/Slf4jJdbcEventLogger.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/class-use/Slf4jJdbcEventLogger.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.log.Slf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.log.Slf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.log.Slf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.log.Slf4jJdbcEventLogger (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-frame.html
index fe813eb..7426a38 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.log (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.log (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-summary.html
index d4da9fb..bf05e94 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.log (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.log (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.log (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.log (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-tree.html
index ec1b63e..dccb47f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.log Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.log Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.log Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.log Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -143,6 +143,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-use.html
index d2c05be..34296ff 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/log/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.log (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.log (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.log (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.log (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -273,6 +273,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Attribute.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Attribute.html
index e1ec67c..071b81b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Attribute.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Attribute.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Attribute (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Attribute (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Attribute (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Attribute (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -485,6 +485,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/CallbackDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/CallbackDescriptor.html
index 91fc16d..751b5cd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/CallbackDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/CallbackDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CallbackDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CallbackDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CallbackDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CallbackDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -439,6 +439,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/CallbackMap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/CallbackMap.html
index fea77cf..10e2b5d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/CallbackMap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/CallbackMap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CallbackMap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CallbackMap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CallbackMap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CallbackMap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -455,6 +455,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DataMap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DataMap.html
index 0aa419f..7d14d66 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DataMap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DataMap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataMap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataMap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataMap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataMap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -2519,6 +2519,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbAttribute.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbAttribute.html
index 47e0e66..61f9f21 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbAttribute.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbAttribute.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DbAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DbAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DbAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DbAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -807,6 +807,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbEntity.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbEntity.html
index c3687b5..001576e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbEntity.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbEntity.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DbEntity (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DbEntity (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DbEntity (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DbEntity (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1158,6 +1158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbJoin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbJoin.html
index bfd4b19..95eb5b7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbJoin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbJoin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DbJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DbJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DbJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DbJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -522,6 +522,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbKeyGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbKeyGenerator.html
index 9c26aaa..ae0f50d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbKeyGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbKeyGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DbKeyGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DbKeyGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DbKeyGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DbKeyGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -622,6 +622,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbRelationship.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbRelationship.html
index f39517b..3902203 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbRelationship.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DbRelationship.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DbRelationship (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DbRelationship (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DbRelationship (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DbRelationship (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -852,6 +852,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DeleteRule.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DeleteRule.html
index c00e2fc..5e9dc17 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DeleteRule.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DeleteRule.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DeleteRule (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DeleteRule (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DeleteRule (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DeleteRule (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -439,6 +439,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DetectedDbEntity.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DetectedDbEntity.html
index 0df9fe3..cf91db4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DetectedDbEntity.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/DetectedDbEntity.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DetectedDbEntity (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DetectedDbEntity (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DetectedDbEntity (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DetectedDbEntity (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -411,6 +411,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EJBQLQueryDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EJBQLQueryDescriptor.html
index 4d446f3..1a68f37 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EJBQLQueryDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EJBQLQueryDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -396,6 +396,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Embeddable.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Embeddable.html
index 0fee893..7ed3f68 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Embeddable.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Embeddable.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Embeddable (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Embeddable (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Embeddable (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Embeddable (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -558,6 +558,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EmbeddableAttribute.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EmbeddableAttribute.html
index f8c1d81..66c81d4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EmbeddableAttribute.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EmbeddableAttribute.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EmbeddableAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EmbeddableAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EmbeddableAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EmbeddableAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -498,6 +498,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EmbeddedAttribute.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EmbeddedAttribute.html
index 6f246b3..96e4665 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EmbeddedAttribute.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EmbeddedAttribute.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EmbeddedAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EmbeddedAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EmbeddedAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EmbeddedAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -560,6 +560,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Entity.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Entity.html
index 17fb260..7b1e52c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Entity.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Entity.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Entity (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Entity (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Entity (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Entity (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -897,6 +897,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityInheritanceTree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityInheritanceTree.html
index 8af52ae..d118d90 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityInheritanceTree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityInheritanceTree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EntityInheritanceTree (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EntityInheritanceTree (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EntityInheritanceTree (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EntityInheritanceTree (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -507,6 +507,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityListener.html
index f27a418..c60bdb0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EntityListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EntityListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EntityListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EntityListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -423,6 +423,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityListenerFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityListenerFactory.html
index d6d1e3a..a160542 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityListenerFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityListenerFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EntityListenerFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EntityListenerFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EntityListenerFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EntityListenerFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -246,6 +246,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityResolver.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityResolver.html
index 343836a..72d9038 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityResolver.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityResolver.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EntityResolver (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EntityResolver (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EntityResolver (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EntityResolver (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1273,6 +1273,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityResult.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityResult.html
index 993d808..99449fe 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityResult.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntityResult.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EntityResult (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EntityResult (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EntityResult (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EntityResult (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -443,6 +443,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntitySorter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntitySorter.html
index bdf33a1..d12880b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntitySorter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/EntitySorter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EntitySorter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EntitySorter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EntitySorter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EntitySorter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -291,6 +291,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/JoinType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/JoinType.html
index cef6f35..5d18fb2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/JoinType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/JoinType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>JoinType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>JoinType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JoinType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="JoinType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -355,6 +355,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/LifecycleEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/LifecycleEvent.html
index f71ed93..053f6ba 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/LifecycleEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/LifecycleEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LifecycleEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>LifecycleEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LifecycleEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="LifecycleEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -416,6 +416,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/MapLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/MapLoader.html
index 27b0814..38b3cab 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/MapLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/MapLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MapLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MapLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MapLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MapLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1145,6 +1145,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/MappingNamespace.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/MappingNamespace.html
index a3c5a5b..133f3b0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/MappingNamespace.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/MappingNamespace.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MappingNamespace (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MappingNamespace (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MappingNamespace (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MappingNamespace (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -478,6 +478,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ObjAttribute.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ObjAttribute.html
index fcafb8a..212030c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ObjAttribute.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ObjAttribute.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -802,6 +802,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ObjEntity.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ObjEntity.html
index 6a8af4d..6e1f22c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ObjEntity.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ObjEntity.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjEntity (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjEntity (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjEntity (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjEntity (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -2086,6 +2086,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ObjRelationship.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ObjRelationship.html
index 6a8002d..8b30bcb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ObjRelationship.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ObjRelationship.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjRelationship (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjRelationship (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjRelationship (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjRelationship (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1155,6 +1155,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/PathComponent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/PathComponent.html
index 0b0b4f7..b938e28 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/PathComponent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/PathComponent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PathComponent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PathComponent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PathComponent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PathComponent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -313,6 +313,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Procedure.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Procedure.html
index 6e30c6c..62d7f2d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Procedure.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Procedure.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Procedure (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Procedure (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Procedure (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Procedure (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -776,6 +776,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ProcedureParameter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ProcedureParameter.html
index 083f2eb..475ce38 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ProcedureParameter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ProcedureParameter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ProcedureParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ProcedureParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ProcedureParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ProcedureParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -744,6 +744,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ProcedureQueryDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ProcedureQueryDescriptor.html
index 7e98eb2..b276753 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ProcedureQueryDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/ProcedureQueryDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ProcedureQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ProcedureQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ProcedureQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ProcedureQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -396,6 +396,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/QueryDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/QueryDescriptor.html
index 5c6d4b1..e625693 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/QueryDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/QueryDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -751,6 +751,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/QueryDescriptorLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/QueryDescriptorLoader.html
index 999aea8..57bb283 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/QueryDescriptorLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/QueryDescriptorLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -492,6 +492,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Relationship.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Relationship.html
index c241af8..34244b7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Relationship.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/Relationship.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Relationship (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Relationship (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Relationship (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Relationship (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -682,6 +682,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/SQLResult.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/SQLResult.html
index ec64d2f..d85a037 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/SQLResult.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/SQLResult.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLResult (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLResult (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLResult (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLResult (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -416,6 +416,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/SQLTemplateDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/SQLTemplateDescriptor.html
index b01d2c2..29303a0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/SQLTemplateDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/SQLTemplateDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLTemplateDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLTemplateDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLTemplateDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLTemplateDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/SelectQueryDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/SelectQueryDescriptor.html
index 9b6ffaa..529ce03 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/SelectQueryDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/SelectQueryDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SelectQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SelectQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SelectQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SelectQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -576,6 +576,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Attribute.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Attribute.html
index f42e1d2..2862a67 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Attribute.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Attribute.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.Attribute (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.Attribute (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.Attribute (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.Attribute (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -370,6 +370,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/CallbackDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/CallbackDescriptor.html
index 072060a..ef0ee1c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/CallbackDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/CallbackDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.CallbackDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.CallbackDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.CallbackDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.CallbackDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -215,6 +215,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/CallbackMap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/CallbackMap.html
index e50b53a..216122d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/CallbackMap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/CallbackMap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.CallbackMap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.CallbackMap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.CallbackMap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.CallbackMap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -192,6 +192,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DataMap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DataMap.html
index 6e7c8fa..f560a51 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DataMap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DataMap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.DataMap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.DataMap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.DataMap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.DataMap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -817,6 +817,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbAttribute.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbAttribute.html
index 9390623..df73df5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbAttribute.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbAttribute.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.DbAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.DbAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.DbAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.DbAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -234,6 +234,19 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/cayenne/access/jdbc/package-summary.html">org.apache.cayenne.access.jdbc</a> with parameters of type <a href="../../../../../org/apache/cayenne/map/DbAttribute.html" title="class in org.apache.cayenne.map">DbAttribute</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnDescriptor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html#setAttribute-org.apache.cayenne.map.DbAttribute-">setAttribute</a></span>(<a href="../../../../../org/apache/cayenne/map/DbAttribute.html" title="class in org.apache.cayenne.map">DbAttribute</a>&nbsp;attribute)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
 <caption><span>Constructors in <a href="../../../../../org/apache/cayenne/access/jdbc/package-summary.html">org.apache.cayenne.access.jdbc</a> with parameters of type <a href="../../../../../org/apache/cayenne/map/DbAttribute.html" title="class in org.apache.cayenne.map">DbAttribute</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -1326,6 +1339,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbEntity.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbEntity.html
index b00494a..1404e2b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbEntity.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbEntity.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.DbEntity (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.DbEntity (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.DbEntity (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.DbEntity (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1551,6 +1551,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbJoin.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbJoin.html
index 476f7b7..6075f73 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbJoin.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbJoin.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.DbJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.DbJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.DbJoin (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.DbJoin (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -262,6 +262,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbKeyGenerator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbKeyGenerator.html
index b5a05c2..c6db9f9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbKeyGenerator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbKeyGenerator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.DbKeyGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.DbKeyGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.DbKeyGenerator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.DbKeyGenerator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -194,6 +194,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbRelationship.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbRelationship.html
index 70536ac..ef7b208 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbRelationship.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DbRelationship.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.DbRelationship (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.DbRelationship (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.DbRelationship (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.DbRelationship (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -629,6 +629,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DeleteRule.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DeleteRule.html
index a64ef00..157e9e0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DeleteRule.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DeleteRule.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.DeleteRule (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.DeleteRule (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.DeleteRule (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.DeleteRule (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DetectedDbEntity.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DetectedDbEntity.html
index a8774cb..54b511e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DetectedDbEntity.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/DetectedDbEntity.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.DetectedDbEntity (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.DetectedDbEntity (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.DetectedDbEntity (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.DetectedDbEntity (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EJBQLQueryDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EJBQLQueryDescriptor.html
index b34f624..6f21d28 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EJBQLQueryDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EJBQLQueryDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.EJBQLQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.EJBQLQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.EJBQLQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.EJBQLQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Embeddable.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Embeddable.html
index 672c73f..2a9272c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Embeddable.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Embeddable.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.Embeddable (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.Embeddable (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.Embeddable (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.Embeddable (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -404,6 +404,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EmbeddableAttribute.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EmbeddableAttribute.html
index 4da643c..db43958 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EmbeddableAttribute.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EmbeddableAttribute.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.EmbeddableAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.EmbeddableAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.EmbeddableAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.EmbeddableAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -314,6 +314,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EmbeddedAttribute.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EmbeddedAttribute.html
index feeed3c..6d537e7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EmbeddedAttribute.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EmbeddedAttribute.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.EmbeddedAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.EmbeddedAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.EmbeddedAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.EmbeddedAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Entity.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Entity.html
index 145c18f..4b80919 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Entity.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Entity.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.Entity (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.Entity (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.Entity (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.Entity (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -438,6 +438,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityInheritanceTree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityInheritanceTree.html
index 5856acb..82c9606 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityInheritanceTree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityInheritanceTree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.EntityInheritanceTree (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.EntityInheritanceTree (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.EntityInheritanceTree (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.EntityInheritanceTree (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -290,6 +290,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityListener.html
index 0387378..a77bda6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.EntityListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.EntityListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.EntityListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.EntityListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -255,6 +255,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityListenerFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityListenerFactory.html
index d3bddc6..7f91f63 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityListenerFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityListenerFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.map.EntityListenerFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.map.EntityListenerFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.map.EntityListenerFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.map.EntityListenerFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityResolver.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityResolver.html
index fbc3d63..1ecb89b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityResolver.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityResolver.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.EntityResolver (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.EntityResolver (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.EntityResolver (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.EntityResolver (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1337,6 +1337,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityResult.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityResult.html
index bfae05d..dc57694 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityResult.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntityResult.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.EntityResult (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.EntityResult (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.EntityResult (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.EntityResult (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntitySorter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntitySorter.html
index 9082bf7..4d4d298 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntitySorter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/EntitySorter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.map.EntitySorter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.map.EntitySorter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.map.EntitySorter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.map.EntitySorter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -221,6 +221,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/JoinType.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/JoinType.html
index 50d985a..927cc20 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/JoinType.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/JoinType.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.JoinType (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.JoinType (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.JoinType (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.JoinType (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -246,6 +246,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/LifecycleEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/LifecycleEvent.html
index c398185..8ec7b32 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/LifecycleEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/LifecycleEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.LifecycleEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.LifecycleEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.LifecycleEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.LifecycleEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -289,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/MapLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/MapLoader.html
index e9a9e9d..9e7dd8b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/MapLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/MapLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.MapLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.MapLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.MapLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.MapLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/MappingNamespace.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/MappingNamespace.html
index de632a9..058285b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/MappingNamespace.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/MappingNamespace.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.map.MappingNamespace (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.map.MappingNamespace (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.map.MappingNamespace (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.map.MappingNamespace (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -220,6 +220,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ObjAttribute.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ObjAttribute.html
index 0252aa4..b35ffe1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ObjAttribute.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ObjAttribute.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.ObjAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.ObjAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.ObjAttribute (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.ObjAttribute (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -628,6 +628,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ObjEntity.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ObjEntity.html
index 4931116..48f0179 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ObjEntity.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ObjEntity.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.ObjEntity (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.ObjEntity (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.ObjEntity (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.ObjEntity (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -805,6 +805,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ObjRelationship.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ObjRelationship.html
index bb26d0b..c0e9428 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ObjRelationship.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ObjRelationship.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.ObjRelationship (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.ObjRelationship (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.ObjRelationship (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.ObjRelationship (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -633,6 +633,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/PathComponent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/PathComponent.html
index 7093df6..d55ebab 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/PathComponent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/PathComponent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.map.PathComponent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.map.PathComponent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.map.PathComponent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.map.PathComponent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -217,6 +217,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Procedure.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Procedure.html
index 232a2fc..cd843ce 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Procedure.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Procedure.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.Procedure (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.Procedure (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.Procedure (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.Procedure (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -387,6 +387,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ProcedureParameter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ProcedureParameter.html
index 6ee8d91..3edfcf3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ProcedureParameter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ProcedureParameter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.ProcedureParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.ProcedureParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.ProcedureParameter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.ProcedureParameter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -360,6 +360,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ProcedureQueryDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ProcedureQueryDescriptor.html
index 2e282cb..7b68d39 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ProcedureQueryDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/ProcedureQueryDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.ProcedureQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.ProcedureQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.ProcedureQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.ProcedureQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/QueryDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/QueryDescriptor.html
index 5277553..f1cc8eb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/QueryDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/QueryDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.QueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.QueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.QueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.QueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -286,6 +286,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/QueryDescriptorLoader.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/QueryDescriptorLoader.html
index 1e69783..71be94b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/QueryDescriptorLoader.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/QueryDescriptorLoader.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.QueryDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.QueryDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.QueryDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.QueryDescriptorLoader (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Relationship.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Relationship.html
index a062abb..8de7c53 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Relationship.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/Relationship.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.Relationship (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.Relationship (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.Relationship (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.Relationship (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -373,6 +373,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/SQLResult.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/SQLResult.html
index ab3dc17..a8e0036 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/SQLResult.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/SQLResult.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.SQLResult (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.SQLResult (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.SQLResult (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.SQLResult (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -300,6 +300,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/SQLTemplateDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/SQLTemplateDescriptor.html
index 0d47906..9c25b89 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/SQLTemplateDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/SQLTemplateDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.SQLTemplateDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.SQLTemplateDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.SQLTemplateDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.SQLTemplateDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/SelectQueryDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/SelectQueryDescriptor.html
index bcd9e73..e9613a9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/SelectQueryDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/class-use/SelectQueryDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.SelectQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.SelectQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.SelectQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.SelectQueryDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/AttributeEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/AttributeEvent.html
index 2fa6fa6..e102a9f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/AttributeEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/AttributeEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>AttributeEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>AttributeEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AttributeEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="AttributeEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -484,6 +484,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/DbAttributeListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/DbAttributeListener.html
index a6f3350..0b24ba9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/DbAttributeListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/DbAttributeListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DbAttributeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DbAttributeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DbAttributeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DbAttributeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -263,6 +263,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/DbEntityListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/DbEntityListener.html
index 5c5e037..818a1a6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/DbEntityListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/DbEntityListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DbEntityListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DbEntityListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DbEntityListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DbEntityListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -265,6 +265,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/DbRelationshipListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/DbRelationshipListener.html
index 950fa24..88119c9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/DbRelationshipListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/DbRelationshipListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DbRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DbRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DbRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DbRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -263,6 +263,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableAttributeEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableAttributeEvent.html
index 006ca01..8d68bc0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableAttributeEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableAttributeEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EmbeddableAttributeEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EmbeddableAttributeEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EmbeddableAttributeEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EmbeddableAttributeEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -444,6 +444,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableAttributeListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableAttributeListener.html
index 12c5af1..9ae1ff5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableAttributeListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableAttributeListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EmbeddableAttributeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EmbeddableAttributeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EmbeddableAttributeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EmbeddableAttributeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -258,6 +258,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableEvent.html
index fc9cd46..ca02907 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EmbeddableEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EmbeddableEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EmbeddableEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EmbeddableEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableListener.html
index 35bd18c..48dda49 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EmbeddableListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EmbeddableListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EmbeddableListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EmbeddableListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EmbeddableListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -268,6 +268,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EntityEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EntityEvent.html
index 7d13170..8f18d21 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EntityEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/EntityEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EntityEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EntityEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EntityEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EntityEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -463,6 +463,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/MapEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/MapEvent.html
index ef880fa..dae6f7a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/MapEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/MapEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MapEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MapEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MapEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MapEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -603,6 +603,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/ObjAttributeListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/ObjAttributeListener.html
index edbd811..fa8837c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/ObjAttributeListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/ObjAttributeListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjAttributeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjAttributeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjAttributeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjAttributeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -259,6 +259,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/ObjEntityListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/ObjEntityListener.html
index 5ba8513..eda6dd1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/ObjEntityListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/ObjEntityListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjEntityListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjEntityListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjEntityListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjEntityListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -266,6 +266,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/ObjRelationshipListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/ObjRelationshipListener.html
index cd97ee1..900490f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/ObjRelationshipListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/ObjRelationshipListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -259,6 +259,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/RelationshipEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/RelationshipEvent.html
index f7cb2c2..6526bd8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/RelationshipEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/RelationshipEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>RelationshipEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>RelationshipEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="RelationshipEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="RelationshipEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -484,6 +484,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/AttributeEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/AttributeEvent.html
index 9b1a083..dc0cd79 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/AttributeEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/AttributeEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.event.AttributeEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.event.AttributeEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.event.AttributeEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.event.AttributeEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -226,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/DbAttributeListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/DbAttributeListener.html
index c883622..3bb13f0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/DbAttributeListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/DbAttributeListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.map.event.DbAttributeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.map.event.DbAttributeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.map.event.DbAttributeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.map.event.DbAttributeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/DbEntityListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/DbEntityListener.html
index 27e0751..52e854a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/DbEntityListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/DbEntityListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.map.event.DbEntityListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.map.event.DbEntityListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.map.event.DbEntityListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.map.event.DbEntityListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -180,6 +180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/DbRelationshipListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/DbRelationshipListener.html
index 8966c6b..69d67ef 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/DbRelationshipListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/DbRelationshipListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.map.event.DbRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.map.event.DbRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.map.event.DbRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.map.event.DbRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableAttributeEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableAttributeEvent.html
index 84743b7..ce56abc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableAttributeEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableAttributeEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.event.EmbeddableAttributeEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.event.EmbeddableAttributeEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.event.EmbeddableAttributeEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.event.EmbeddableAttributeEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -175,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableAttributeListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableAttributeListener.html
index 405fb83..93a6821 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableAttributeListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableAttributeListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.map.event.EmbeddableAttributeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.map.event.EmbeddableAttributeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.map.event.EmbeddableAttributeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.map.event.EmbeddableAttributeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableEvent.html
index 261febc..3ddd263 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.event.EmbeddableEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.event.EmbeddableEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.event.EmbeddableEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.event.EmbeddableEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -191,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableListener.html
index 941300b..10db07c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EmbeddableListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.map.event.EmbeddableListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.map.event.EmbeddableListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.map.event.EmbeddableListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.map.event.EmbeddableListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EntityEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EntityEvent.html
index 708dc82..5faa86f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EntityEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/EntityEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.event.EntityEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.event.EntityEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.event.EntityEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.event.EntityEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -309,6 +309,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/MapEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/MapEvent.html
index ca1d4d5..9640bc4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/MapEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/MapEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.event.MapEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.event.MapEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.event.MapEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.event.MapEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/ObjAttributeListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/ObjAttributeListener.html
index e7de678..b5b21ef 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/ObjAttributeListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/ObjAttributeListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.map.event.ObjAttributeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.map.event.ObjAttributeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.map.event.ObjAttributeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.map.event.ObjAttributeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/ObjEntityListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/ObjEntityListener.html
index 706c0b6..cc67b07 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/ObjEntityListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/ObjEntityListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.map.event.ObjEntityListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.map.event.ObjEntityListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.map.event.ObjEntityListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.map.event.ObjEntityListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/ObjRelationshipListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/ObjRelationshipListener.html
index e24a8fa..b5fa9ee 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/ObjRelationshipListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/ObjRelationshipListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.map.event.ObjRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.map.event.ObjRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.map.event.ObjRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.map.event.ObjRelationshipListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/RelationshipEvent.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/RelationshipEvent.html
index d5d98ef..8805a25 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/RelationshipEvent.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/class-use/RelationshipEvent.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.map.event.RelationshipEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.map.event.RelationshipEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.map.event.RelationshipEvent (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.map.event.RelationshipEvent (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -232,6 +232,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-frame.html
index 51dd4c2..5cd7a7e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.map.event (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.map.event (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-summary.html
index 34a148d..bb82098 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.map.event (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.map.event (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.map.event (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.map.event (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -225,6 +225,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-tree.html
index bbb961b..f202d89 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.map.event Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.map.event Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.map.event Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.map.event Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -171,6 +171,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-use.html
index a1ed761..54d12f4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/event/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.map.event (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.map.event (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.map.event (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.map.event (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -237,6 +237,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-frame.html
index 8048d9d..071d58d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.map (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.map (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-summary.html
index c29beba..7c69183 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.map (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.map (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.map (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.map (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -406,6 +406,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-tree.html
index ab521b3..8c68e8d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.map Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.map Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.map Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.map Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -208,6 +208,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-use.html
index e1063ba..9b9e108 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/map/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.map (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.map (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.map (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.map (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1720,6 +1720,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-frame.html
index ffc73b7..8360f63 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-summary.html
index 3670a40..3d38ec1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -376,6 +376,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-tree.html
index 5d94266..6f2a113 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -223,6 +223,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-use.html
index 0f7bccf..e0e93ab 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1088,6 +1088,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/AbstractMappedQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/AbstractMappedQuery.html
index 2b3ce1f..3882c49 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/AbstractMappedQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/AbstractMappedQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>AbstractMappedQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>AbstractMappedQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractMappedQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="AbstractMappedQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -400,6 +400,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/AbstractQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/AbstractQuery.html
index 95573bd..4a7e51d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/AbstractQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/AbstractQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>AbstractQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>AbstractQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="AbstractQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -576,6 +576,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/BatchQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/BatchQuery.html
index ca28f1d..9b49d10 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/BatchQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/BatchQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -633,6 +633,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/BatchQueryRow.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/BatchQueryRow.html
index 00b8bdc..16d43aa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/BatchQueryRow.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/BatchQueryRow.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BatchQueryRow (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BatchQueryRow (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BatchQueryRow (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BatchQueryRow (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -369,6 +369,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/CacheableQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/CacheableQuery.html
index 6929d06..8e14fd8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/CacheableQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/CacheableQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CacheableQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CacheableQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CacheableQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CacheableQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -607,6 +607,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/CapsStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/CapsStrategy.html
index f4d96c0..4193e14 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/CapsStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/CapsStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CapsStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CapsStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CapsStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CapsStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -355,6 +355,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ColumnSelect.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ColumnSelect.html
index 1a54ab7..5bb7f20 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ColumnSelect.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ColumnSelect.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ColumnSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ColumnSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ColumnSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ColumnSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1239,6 +1239,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/DeleteBatchQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/DeleteBatchQuery.html
index 4ec6dce..d3bf9a5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/DeleteBatchQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/DeleteBatchQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DeleteBatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DeleteBatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DeleteBatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DeleteBatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -407,6 +407,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/EJBQLQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/EJBQLQuery.html
index 08bc56d..498fed9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/EJBQLQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/EJBQLQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EJBQLQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EJBQLQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EJBQLQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EJBQLQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -892,6 +892,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/EntityResultSegment.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/EntityResultSegment.html
index 53f89b6..bd31b3e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/EntityResultSegment.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/EntityResultSegment.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EntityResultSegment (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EntityResultSegment (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EntityResultSegment (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EntityResultSegment (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -275,6 +275,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/FluentSelect.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/FluentSelect.html
index 3e3d1c3..e92f5fd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/FluentSelect.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/FluentSelect.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FluentSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FluentSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FluentSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FluentSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -799,6 +799,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/IndirectQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/IndirectQuery.html
index f2c49f0..a9b78ef 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/IndirectQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/IndirectQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IndirectQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IndirectQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IndirectQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IndirectQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -535,6 +535,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/InsertBatchQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/InsertBatchQuery.html
index eb0240a..6bd5060 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/InsertBatchQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/InsertBatchQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>InsertBatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>InsertBatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="InsertBatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="InsertBatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/MappedExec.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/MappedExec.html
index 8438313..38dc6fd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/MappedExec.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/MappedExec.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MappedExec (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MappedExec (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MappedExec (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MappedExec (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -390,6 +390,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/MappedSelect.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/MappedSelect.html
index cb835a6..3cf5b08 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/MappedSelect.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/MappedSelect.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MappedSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MappedSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MappedSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MappedSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -794,6 +794,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/NamedQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/NamedQuery.html
index 64ed4a6..3d4278e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/NamedQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/NamedQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NamedQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>NamedQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NamedQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="NamedQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -592,6 +592,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ObjectIdQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ObjectIdQuery.html
index 5063ad3..6278ca4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ObjectIdQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ObjectIdQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjectIdQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjectIdQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjectIdQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjectIdQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -621,6 +621,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ObjectSelect.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ObjectSelect.html
index 534c7bc..a00500c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ObjectSelect.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ObjectSelect.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjectSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjectSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjectSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjectSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1410,6 +1410,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/Ordering.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/Ordering.html
index f711b72..3e81342 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/Ordering.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/Ordering.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Ordering (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Ordering (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Ordering (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Ordering (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -991,6 +991,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ParameterizedQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ParameterizedQuery.html
index 49c4f19..d1e9e42 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ParameterizedQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ParameterizedQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ParameterizedQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ParameterizedQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ParameterizedQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ParameterizedQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -247,6 +247,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/PrefetchProcessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/PrefetchProcessor.html
index 4e90b71..56a7ebb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/PrefetchProcessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/PrefetchProcessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PrefetchProcessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PrefetchProcessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PrefetchProcessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PrefetchProcessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -295,6 +295,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/PrefetchSelectQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/PrefetchSelectQuery.html
index d7674e1..4403919 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/PrefetchSelectQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/PrefetchSelectQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PrefetchSelectQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PrefetchSelectQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PrefetchSelectQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PrefetchSelectQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -542,6 +542,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/PrefetchTreeNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/PrefetchTreeNode.html
index a18296a..82c9f46 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/PrefetchTreeNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/PrefetchTreeNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PrefetchTreeNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PrefetchTreeNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PrefetchTreeNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PrefetchTreeNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1049,6 +1049,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ProcedureCall.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ProcedureCall.html
index ba45950..2ed18f7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ProcedureCall.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ProcedureCall.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ProcedureCall (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ProcedureCall (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ProcedureCall (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ProcedureCall (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -632,6 +632,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ProcedureQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ProcedureQuery.html
index 2051c84..476e2fa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ProcedureQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ProcedureQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ProcedureQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ProcedureQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ProcedureQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ProcedureQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1144,6 +1144,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/Query.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/Query.html
index d3a506f..d237beb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/Query.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/Query.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Query (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Query (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Query (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Query (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -344,6 +344,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryCacheStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryCacheStrategy.html
index 8e1fcd9..7ec69ae 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryCacheStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryCacheStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryCacheStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryCacheStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryCacheStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryCacheStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -442,6 +442,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryChain.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryChain.html
index fabc77c..6f01f55 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryChain.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryChain.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryChain (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryChain (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryChain (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryChain (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -575,6 +575,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryMetadata.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryMetadata.html
index 9a91bba..25a0b25 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryMetadata.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryMetadata.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryMetadata (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryMetadata (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryMetadata (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryMetadata (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -925,6 +925,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryMetadataProxy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryMetadataProxy.html
index 0641094..54daea0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryMetadataProxy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryMetadataProxy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryMetadataProxy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryMetadataProxy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryMetadataProxy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryMetadataProxy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -796,6 +796,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryRouter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryRouter.html
index 63780476..daba8ae 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryRouter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/QueryRouter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryRouter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryRouter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryRouter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryRouter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -284,6 +284,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/RefreshQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/RefreshQuery.html
index 70b0eb6..2699b48 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/RefreshQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/RefreshQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>RefreshQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>RefreshQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="RefreshQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="RefreshQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -587,6 +587,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/RelationshipQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/RelationshipQuery.html
index 6edc11a..1c590ec 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/RelationshipQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/RelationshipQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>RelationshipQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>RelationshipQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="RelationshipQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="RelationshipQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -597,6 +597,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLAction.html
index 4cc11da..cfcaa4d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -241,6 +241,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLActionVisitor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLActionVisitor.html
index ec9067b..df2004c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLActionVisitor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLActionVisitor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLActionVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLActionVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLActionVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLActionVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -301,6 +301,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLExec.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLExec.html
index 31ba308..03b519b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLExec.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLExec.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLExec (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLExec (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLExec (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLExec (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -600,6 +600,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLSelect.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLSelect.html
index c196225..04710fc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLSelect.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLSelect.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1295,6 +1295,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLTemplate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLTemplate.html
index cb8d75e..5fad59d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLTemplate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SQLTemplate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLTemplate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLTemplate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLTemplate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLTemplate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1490,6 +1490,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ScalarResultSegment.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ScalarResultSegment.html
index 60c34b2..f7fcde1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ScalarResultSegment.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/ScalarResultSegment.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ScalarResultSegment (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ScalarResultSegment (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ScalarResultSegment (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ScalarResultSegment (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -240,6 +240,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/Select.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/Select.html
index 76f0d26..3a0fec2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/Select.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/Select.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Select (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Select (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Select (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Select (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -386,6 +386,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SelectById.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SelectById.html
index f38e1fe..277d5a1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SelectById.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SelectById.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SelectById (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SelectById (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SelectById (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SelectById (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -831,6 +831,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SelectQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SelectQuery.html
index 0369f14..54a4c10 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SelectQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SelectQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SelectQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SelectQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SelectQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SelectQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -2015,6 +2015,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SortOrder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SortOrder.html
index 4bf252e..4314de4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SortOrder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/SortOrder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SortOrder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SortOrder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SortOrder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SortOrder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -379,6 +379,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/UpdateBatchQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/UpdateBatchQuery.html
index 9654e77..de234dd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/UpdateBatchQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/UpdateBatchQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>UpdateBatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>UpdateBatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="UpdateBatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="UpdateBatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -494,6 +494,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/AbstractMappedQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/AbstractMappedQuery.html
index bce220d..830a5c9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/AbstractMappedQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/AbstractMappedQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.AbstractMappedQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.AbstractMappedQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.AbstractMappedQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.AbstractMappedQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -194,6 +194,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/AbstractQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/AbstractQuery.html
index e3b5f44..95f04af 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/AbstractQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/AbstractQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.AbstractQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.AbstractQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.AbstractQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.AbstractQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/BatchQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/BatchQuery.html
index e604378..6407a35 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/BatchQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/BatchQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.BatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.BatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.BatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.BatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -411,6 +411,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/BatchQueryRow.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/BatchQueryRow.html
index 6ae38ea..c463e11 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/BatchQueryRow.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/BatchQueryRow.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.BatchQueryRow (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.BatchQueryRow (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.BatchQueryRow (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.BatchQueryRow (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -254,6 +254,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/CacheableQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/CacheableQuery.html
index 5525f8b..9f2ea35 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/CacheableQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/CacheableQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.CacheableQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.CacheableQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.CacheableQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.CacheableQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -198,6 +198,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/CapsStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/CapsStrategy.html
index 76ff54b..9db3a6a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/CapsStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/CapsStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.CapsStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.CapsStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.CapsStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.CapsStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -243,6 +243,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ColumnSelect.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ColumnSelect.html
index b2bba2b..613aded 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ColumnSelect.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ColumnSelect.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.ColumnSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.ColumnSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.ColumnSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.ColumnSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -469,6 +469,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/DeleteBatchQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/DeleteBatchQuery.html
index 9528cc5..23830aa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/DeleteBatchQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/DeleteBatchQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.DeleteBatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.DeleteBatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.DeleteBatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.DeleteBatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -188,6 +188,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/EJBQLQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/EJBQLQuery.html
index 8ea510a..da6c24f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/EJBQLQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/EJBQLQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.EJBQLQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.EJBQLQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.EJBQLQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.EJBQLQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -276,6 +276,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/EntityResultSegment.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/EntityResultSegment.html
index 58e3912..10cefee 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/EntityResultSegment.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/EntityResultSegment.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.query.EntityResultSegment (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.query.EntityResultSegment (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.query.EntityResultSegment (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.query.EntityResultSegment (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -73,7 +73,50 @@
 <div class="header">
 <h2 title="Uses of Interface org.apache.cayenne.query.EntityResultSegment" class="title">Uses of Interface<br>org.apache.cayenne.query.EntityResultSegment</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.cayenne.query.EntityResultSegment</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/cayenne/query/EntityResultSegment.html" title="interface in org.apache.cayenne.query">EntityResultSegment</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.cayenne.access.jdbc.reader">org.apache.cayenne.access.jdbc.reader</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.cayenne.access.jdbc.reader">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/cayenne/query/EntityResultSegment.html" title="interface in org.apache.cayenne.query">EntityResultSegment</a> in <a href="../../../../../org/apache/cayenne/access/jdbc/reader/package-summary.html">org.apache.cayenne.access.jdbc.reader</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/cayenne/access/jdbc/reader/package-summary.html">org.apache.cayenne.access.jdbc.reader</a> with parameters of type <a href="../../../../../org/apache/cayenne/query/EntityResultSegment.html" title="interface in org.apache.cayenne.query">EntityResultSegment</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createEntityRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.query.EntityResultSegment-org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory-">createEntityRowReader</a></span>(<a href="../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                     <a href="../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                     <a href="../../../../../org/apache/cayenne/query/EntityResultSegment.html" title="interface in org.apache.cayenne.query">EntityResultSegment</a>&nbsp;resultMetadata,
+                     <a href="../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a>&nbsp;postProcessorFactory)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -121,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/FluentSelect.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/FluentSelect.html
index df4ed47..01e58b3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/FluentSelect.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/FluentSelect.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.FluentSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.FluentSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.FluentSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.FluentSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -172,6 +172,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/IndirectQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/IndirectQuery.html
index 2b612ca..fe43ff2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/IndirectQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/IndirectQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.IndirectQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.IndirectQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.IndirectQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.IndirectQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -238,6 +238,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/InsertBatchQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/InsertBatchQuery.html
index 32fc986..d34660d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/InsertBatchQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/InsertBatchQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.InsertBatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.InsertBatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.InsertBatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.InsertBatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -174,6 +174,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/MappedExec.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/MappedExec.html
index a693eea..fad6d5a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/MappedExec.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/MappedExec.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.MappedExec (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.MappedExec (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.MappedExec (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.MappedExec (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/MappedSelect.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/MappedSelect.html
index 743d2e4..64ee01f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/MappedSelect.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/MappedSelect.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.MappedSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.MappedSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.MappedSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.MappedSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -215,6 +215,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/NamedQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/NamedQuery.html
index 3e77f90..7dfb863 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/NamedQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/NamedQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.NamedQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.NamedQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.NamedQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.NamedQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ObjectIdQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ObjectIdQuery.html
index b948f5a..88cc404 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ObjectIdQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ObjectIdQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.ObjectIdQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.ObjectIdQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.ObjectIdQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.ObjectIdQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ObjectSelect.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ObjectSelect.html
index f6259a8..f618a51 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ObjectSelect.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ObjectSelect.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.ObjectSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.ObjectSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.ObjectSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.ObjectSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -407,6 +407,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/Ordering.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/Ordering.html
index 0de122a..bf4584c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/Ordering.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/Ordering.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.Ordering (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.Ordering (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.Ordering (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.Ordering (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -468,6 +468,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ParameterizedQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ParameterizedQuery.html
index 030eb90..a1ade6c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ParameterizedQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ParameterizedQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.query.ParameterizedQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.query.ParameterizedQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.query.ParameterizedQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.query.ParameterizedQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/PrefetchProcessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/PrefetchProcessor.html
index abebafc..a6c3b32 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/PrefetchProcessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/PrefetchProcessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.query.PrefetchProcessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.query.PrefetchProcessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.query.PrefetchProcessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.query.PrefetchProcessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -167,6 +167,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/PrefetchSelectQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/PrefetchSelectQuery.html
index 26ed439..7486c89 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/PrefetchSelectQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/PrefetchSelectQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.PrefetchSelectQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.PrefetchSelectQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.PrefetchSelectQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.PrefetchSelectQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/PrefetchTreeNode.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/PrefetchTreeNode.html
index c307bcf..6b0f617 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/PrefetchTreeNode.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/PrefetchTreeNode.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.PrefetchTreeNode (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.PrefetchTreeNode (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.PrefetchTreeNode (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.PrefetchTreeNode (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -523,6 +523,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ProcedureCall.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ProcedureCall.html
index 9b35d4c..5e6fe68 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ProcedureCall.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ProcedureCall.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.ProcedureCall (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.ProcedureCall (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.ProcedureCall (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.ProcedureCall (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -205,6 +205,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ProcedureQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ProcedureQuery.html
index 2fba480..ce44848 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ProcedureQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ProcedureQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.ProcedureQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.ProcedureQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.ProcedureQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.ProcedureQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -359,6 +359,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/Query.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/Query.html
index d9485ce..51cf67f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/Query.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/Query.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.query.Query (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.query.Query (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.query.Query (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.query.Query (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1649,6 +1649,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryCacheStrategy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryCacheStrategy.html
index 57f2823..f337300 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryCacheStrategy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryCacheStrategy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.QueryCacheStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.QueryCacheStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.QueryCacheStrategy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.QueryCacheStrategy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -278,6 +278,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryChain.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryChain.html
index f081a77..8ca7e11 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryChain.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryChain.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.QueryChain (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.QueryChain (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.QueryChain (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.QueryChain (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryMetadata.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryMetadata.html
index d5b2896..bc0fc48 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryMetadata.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryMetadata.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.query.QueryMetadata (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.query.QueryMetadata (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.query.QueryMetadata (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.query.QueryMetadata (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -192,13 +192,32 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createEntityRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.query.EntityResultSegment-org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory-">createEntityRowReader</a></span>(<a href="../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                     <a href="../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                     <a href="../../../../../org/apache/cayenne/query/EntityResultSegment.html" title="interface in org.apache.cayenne.query">EntityResultSegment</a>&nbsp;resultMetadata,
+                     <a href="../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a>&nbsp;postProcessorFactory)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createFullRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory.PostprocessorFactory-">createFullRowReader</a></span>(<a href="../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                   <a href="../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                   <a href="../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader">DefaultRowReaderFactory.PostprocessorFactory</a>&nbsp;postProcessorFactory)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createScalarRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.query.ScalarResultSegment-">createScalarRowReader</a></span>(<a href="../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                     <a href="../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                     <a href="../../../../../org/apache/cayenne/query/ScalarResultSegment.html" title="interface in org.apache.cayenne.query">ScalarResultSegment</a>&nbsp;segment)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#rowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.dba.DbAdapter-java.util.Map-">rowReader</a></span>(<a href="../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
          <a href="../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
          <a href="../../../../../org/apache/cayenne/dba/DbAdapter.html" title="interface in org.apache.cayenne.dba">DbAdapter</a>&nbsp;adapter,
          <a href="https://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/cayenne/map/ObjAttribute.html" title="class in org.apache.cayenne.map">ObjAttribute</a>,<a href="../../../../../org/apache/cayenne/access/jdbc/ColumnDescriptor.html" title="class in org.apache.cayenne.access.jdbc">ColumnDescriptor</a>&gt;&nbsp;attributeOverrides)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/reader/RowReaderFactory.html#rowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.dba.DbAdapter-java.util.Map-">rowReader</a></span>(<a href="../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
          <a href="../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
@@ -587,6 +606,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryMetadataProxy.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryMetadataProxy.html
index c4ef9ff..8334d1f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryMetadataProxy.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryMetadataProxy.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.QueryMetadataProxy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.QueryMetadataProxy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.QueryMetadataProxy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.QueryMetadataProxy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryRouter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryRouter.html
index 6cd0210..f900c19 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryRouter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/QueryRouter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.query.QueryRouter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.query.QueryRouter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.query.QueryRouter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.query.QueryRouter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -227,6 +227,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/RefreshQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/RefreshQuery.html
index 0d2be09..c036abb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/RefreshQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/RefreshQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.RefreshQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.RefreshQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.RefreshQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.RefreshQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/RelationshipQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/RelationshipQuery.html
index 0ddd8a6..15914c5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/RelationshipQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/RelationshipQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.RelationshipQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.RelationshipQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.RelationshipQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.RelationshipQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLAction.html
index f0806db..9e6f771 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.query.SQLAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.query.SQLAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.query.SQLAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.query.SQLAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -635,6 +635,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLActionVisitor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLActionVisitor.html
index 6201081..01a934e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLActionVisitor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLActionVisitor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.query.SQLActionVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.query.SQLActionVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.query.SQLActionVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.query.SQLActionVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -349,6 +349,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLExec.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLExec.html
index d9b389d..9ccfb94 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLExec.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLExec.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.SQLExec (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.SQLExec (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.SQLExec (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.SQLExec (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -201,6 +201,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLSelect.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLSelect.html
index fa9ec3b..7a4c421 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLSelect.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLSelect.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.SQLSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.SQLSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.SQLSelect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.SQLSelect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -301,6 +301,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLTemplate.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLTemplate.html
index 5178678..eedeca6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLTemplate.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SQLTemplate.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.SQLTemplate (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.SQLTemplate (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.SQLTemplate (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.SQLTemplate (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ScalarResultSegment.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ScalarResultSegment.html
index 9966f3a..449e338 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ScalarResultSegment.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/ScalarResultSegment.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.query.ScalarResultSegment (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.query.ScalarResultSegment (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.query.ScalarResultSegment (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.query.ScalarResultSegment (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -73,7 +73,49 @@
 <div class="header">
 <h2 title="Uses of Interface org.apache.cayenne.query.ScalarResultSegment" class="title">Uses of Interface<br>org.apache.cayenne.query.ScalarResultSegment</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.cayenne.query.ScalarResultSegment</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/cayenne/query/ScalarResultSegment.html" title="interface in org.apache.cayenne.query">ScalarResultSegment</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.cayenne.access.jdbc.reader">org.apache.cayenne.access.jdbc.reader</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.cayenne.access.jdbc.reader">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/cayenne/query/ScalarResultSegment.html" title="interface in org.apache.cayenne.query">ScalarResultSegment</a> in <a href="../../../../../org/apache/cayenne/access/jdbc/reader/package-summary.html">org.apache.cayenne.access.jdbc.reader</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/cayenne/access/jdbc/reader/package-summary.html">org.apache.cayenne.access.jdbc.reader</a> with parameters of type <a href="../../../../../org/apache/cayenne/query/ScalarResultSegment.html" title="interface in org.apache.cayenne.query">ScalarResultSegment</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/cayenne/access/jdbc/reader/RowReader.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReader</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultRowReaderFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html#createScalarRowReader-org.apache.cayenne.access.jdbc.RowDescriptor-org.apache.cayenne.query.QueryMetadata-org.apache.cayenne.query.ScalarResultSegment-">createScalarRowReader</a></span>(<a href="../../../../../org/apache/cayenne/access/jdbc/RowDescriptor.html" title="class in org.apache.cayenne.access.jdbc">RowDescriptor</a>&nbsp;descriptor,
+                     <a href="../../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;queryMetadata,
+                     <a href="../../../../../org/apache/cayenne/query/ScalarResultSegment.html" title="interface in org.apache.cayenne.query">ScalarResultSegment</a>&nbsp;segment)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -121,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/Select.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/Select.html
index cb5a2aa..5153b69 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/Select.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/Select.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.query.Select (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.query.Select (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.query.Select (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.query.Select (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -326,6 +326,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SelectById.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SelectById.html
index 7d91616..7f7fa29 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SelectById.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SelectById.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.SelectById (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.SelectById (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.SelectById (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.SelectById (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -244,6 +244,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SelectQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SelectQuery.html
index 0c8ea1c..1bbe4f3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SelectQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SelectQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.SelectQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.SelectQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.SelectQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.SelectQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -669,6 +669,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SortOrder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SortOrder.html
index d933138..5da5a98 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SortOrder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/SortOrder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.SortOrder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.SortOrder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.SortOrder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.SortOrder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -244,6 +244,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/UpdateBatchQuery.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/UpdateBatchQuery.html
index 8ff1156..c2245b0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/UpdateBatchQuery.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/class-use/UpdateBatchQuery.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.query.UpdateBatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.query.UpdateBatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.query.UpdateBatchQuery (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.query.UpdateBatchQuery (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -176,6 +176,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-frame.html
index 6d2465a..e0b4e0c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.query (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.query (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-summary.html
index 08adbfe..0e631c3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.query (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.query (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.query (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.query (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -457,6 +457,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-tree.html
index fcfde6b..89dfd75 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.query Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.query Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.query Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.query Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -163,8 +163,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.cayenne.query.<a href="../../../../org/apache/cayenne/query/CapsStrategy.html" title="enum in org.apache.cayenne.query"><span class="typeNameLink">CapsStrategy</span></a></li>
 <li type="circle">org.apache.cayenne.query.<a href="../../../../org/apache/cayenne/query/SortOrder.html" title="enum in org.apache.cayenne.query"><span class="typeNameLink">SortOrder</span></a></li>
+<li type="circle">org.apache.cayenne.query.<a href="../../../../org/apache/cayenne/query/CapsStrategy.html" title="enum in org.apache.cayenne.query"><span class="typeNameLink">CapsStrategy</span></a></li>
 <li type="circle">org.apache.cayenne.query.<a href="../../../../org/apache/cayenne/query/QueryCacheStrategy.html" title="enum in org.apache.cayenne.query"><span class="typeNameLink">QueryCacheStrategy</span></a></li>
 </ul>
 </li>
@@ -219,6 +219,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-use.html
index 6cae699..d6aef2e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/query/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.query (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.query (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.query (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.query (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -378,10 +378,18 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/cayenne/query/class-use/EntityResultSegment.html#org.apache.cayenne.access.jdbc.reader">EntityResultSegment</a>
+<div class="block">A "compiled" version of a <a href="../../../../org/apache/cayenne/map/EntityResult.html" title="class in org.apache.cayenne.map"><code>EntityResult</code></a> descriptor.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/cayenne/query/class-use/QueryMetadata.html#org.apache.cayenne.access.jdbc.reader">QueryMetadata</a>
 <div class="block">Provides a common interface for accessing query metadata.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/cayenne/query/class-use/ScalarResultSegment.html#org.apache.cayenne.access.jdbc.reader">ScalarResultSegment</a>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -1267,6 +1275,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/Accessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/Accessor.html
index 1f88116..288f467 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/Accessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/Accessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Accessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Accessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Accessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Accessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -281,6 +281,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ArcProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ArcProperty.html
index 19711aa..ec5be68 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ArcProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ArcProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ArcProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ArcProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ArcProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ArcProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -354,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/AttributeProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/AttributeProperty.html
index c9107e2..ffc6bc7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/AttributeProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/AttributeProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>AttributeProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>AttributeProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AttributeProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="AttributeProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -239,6 +239,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseArcProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseArcProperty.html
index 3cd9afd..95bce86 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseArcProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseArcProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BaseArcProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BaseArcProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BaseArcProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BaseArcProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -548,6 +548,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseProperty.html
index 1320138..22a4dae 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BaseProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BaseProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BaseProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BaseProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -518,6 +518,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseToManyProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseToManyProperty.html
index 25e71d1..e56abb8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseToManyProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseToManyProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BaseToManyProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BaseToManyProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BaseToManyProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BaseToManyProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -580,6 +580,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseToOneProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseToOneProperty.html
index 780cd59..b04b228 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseToOneProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BaseToOneProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BaseToOneProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BaseToOneProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BaseToOneProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BaseToOneProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -379,6 +379,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BeanAccessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BeanAccessor.html
index 51bd66a..2dbce48 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BeanAccessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/BeanAccessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BeanAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BeanAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BeanAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BeanAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -423,6 +423,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ClassDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ClassDescriptor.html
index 82b098a..5feb931 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ClassDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ClassDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClassDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClassDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClassDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClassDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -632,6 +632,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ClassDescriptorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ClassDescriptorFactory.html
index dcefa88..1891443 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ClassDescriptorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ClassDescriptorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClassDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClassDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClassDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClassDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -231,6 +231,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ClassDescriptorMap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ClassDescriptorMap.html
index 9e05b9c..0dfed8b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ClassDescriptorMap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ClassDescriptorMap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClassDescriptorMap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClassDescriptorMap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClassDescriptorMap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClassDescriptorMap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -476,6 +476,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/Converter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/Converter.html
index c92249d..c169da0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/Converter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/Converter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Converter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Converter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Converter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Converter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -289,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ConverterFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ConverterFactory.html
index db0c23c..2e279fc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ConverterFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ConverterFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ConverterFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ConverterFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ConverterFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ConverterFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -253,6 +253,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/EmbeddableDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/EmbeddableDescriptor.html
index c94af74..7e910e9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/EmbeddableDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/EmbeddableDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -263,6 +263,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/EmbeddedFieldAccessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/EmbeddedFieldAccessor.html
index fbe0a6c..ca1d144 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/EmbeddedFieldAccessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/EmbeddedFieldAccessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EmbeddedFieldAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EmbeddedFieldAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EmbeddedFieldAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EmbeddedFieldAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -437,6 +437,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/FaultFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/FaultFactory.html
index cb671a7..abfe267 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/FaultFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/FaultFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FaultFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FaultFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FaultFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FaultFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -278,6 +278,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/FieldAccessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/FieldAccessor.html
index a6945bb..99a3d54 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/FieldAccessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/FieldAccessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FieldAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FieldAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FieldAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FieldAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -454,6 +454,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/FieldEmbeddableDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/FieldEmbeddableDescriptor.html
index 9a90655..f14860a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/FieldEmbeddableDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/FieldEmbeddableDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FieldEmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FieldEmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FieldEmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FieldEmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -409,6 +409,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/IdMapKeyAccessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/IdMapKeyAccessor.html
index fd073eb..56b23a6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/IdMapKeyAccessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/IdMapKeyAccessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IdMapKeyAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IdMapKeyAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IdMapKeyAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IdMapKeyAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -377,6 +377,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/LazyClassDescriptorDecorator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/LazyClassDescriptorDecorator.html
index 9ecb165..cc5c093 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/LazyClassDescriptorDecorator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/LazyClassDescriptorDecorator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LazyClassDescriptorDecorator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>LazyClassDescriptorDecorator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LazyClassDescriptorDecorator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="LazyClassDescriptorDecorator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -855,6 +855,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/LifecycleCallbackRegistry.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/LifecycleCallbackRegistry.html
index 156e8bb..90fbd71 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/LifecycleCallbackRegistry.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/LifecycleCallbackRegistry.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LifecycleCallbackRegistry (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>LifecycleCallbackRegistry (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LifecycleCallbackRegistry (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="LifecycleCallbackRegistry (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -507,6 +507,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/MapAccessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/MapAccessor.html
index b4796a2..9de5f54 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/MapAccessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/MapAccessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MapAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MapAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MapAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MapAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -332,6 +332,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PersistentDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PersistentDescriptor.html
index 8e2c63e..0f93be1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PersistentDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PersistentDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PersistentDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PersistentDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PersistentDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PersistentDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1094,6 +1094,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PersistentDescriptorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PersistentDescriptorFactory.html
index ce9990c..98b0cf1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PersistentDescriptorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PersistentDescriptorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PersistentDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PersistentDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PersistentDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PersistentDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -602,6 +602,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/Property.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/Property.html
index 4958cc9..727fd1a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/Property.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/Property.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Property (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Property (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Property (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Property (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -199,6 +199,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyAccessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyAccessor.html
index 015cae4..cb03971 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyAccessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyAccessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PropertyAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PropertyAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PropertyAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PropertyAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -375,6 +375,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyDescriptor.html
index 366fad0..ce26660 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PropertyDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PropertyDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PropertyDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PropertyDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -381,6 +381,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyException.html
index c7a2bf4..ff5017a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PropertyException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PropertyException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PropertyException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PropertyException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -502,6 +502,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyUtils.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyUtils.html
index 57e5991..182a622 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyUtils.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyUtils.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PropertyUtils (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PropertyUtils (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PropertyUtils (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PropertyUtils (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -306,6 +306,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyVisitor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyVisitor.html
index 48e878b..e287ac7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyVisitor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/PropertyVisitor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PropertyVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PropertyVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PropertyVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PropertyVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -250,6 +250,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/SimpleAttributeProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/SimpleAttributeProperty.html
index 71baf88..2fc0ed1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/SimpleAttributeProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/SimpleAttributeProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SimpleAttributeProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SimpleAttributeProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimpleAttributeProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SimpleAttributeProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -423,6 +423,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/SingletonFaultFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/SingletonFaultFactory.html
index 11fab98..834eace 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/SingletonFaultFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/SingletonFaultFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SingletonFaultFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SingletonFaultFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SingletonFaultFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SingletonFaultFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -424,6 +424,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToAnyConverter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToAnyConverter.html
index 8e41c5c..9464b2f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToAnyConverter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToAnyConverter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ToAnyConverter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ToAnyConverter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ToAnyConverter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ToAnyConverter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -290,6 +290,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToManyMapProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToManyMapProperty.html
index d4092be..97752e5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToManyMapProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToManyMapProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ToManyMapProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ToManyMapProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ToManyMapProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ToManyMapProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -257,6 +257,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToManyProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToManyProperty.html
index bda56f6..933b36c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToManyProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToManyProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ToManyProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ToManyProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ToManyProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ToManyProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -335,6 +335,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToOneProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToOneProperty.html
index ba1f39d..4c687d9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToOneProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/ToOneProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ToOneProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ToOneProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ToOneProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ToOneProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -250,6 +250,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/UnresolvablePathException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/UnresolvablePathException.html
index f6e0491..6351e60 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/UnresolvablePathException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/UnresolvablePathException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:50 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>UnresolvablePathException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>UnresolvablePathException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="UnresolvablePathException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="UnresolvablePathException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -320,6 +320,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/Accessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/Accessor.html
index d6eaaf9..3ec7f25 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/Accessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/Accessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.reflect.Accessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.reflect.Accessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.reflect.Accessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.reflect.Accessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -465,6 +465,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ArcProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ArcProperty.html
index 33023c0..c235ff0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ArcProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ArcProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.reflect.ArcProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.reflect.ArcProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.reflect.ArcProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.reflect.ArcProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -310,6 +310,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/AttributeProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/AttributeProperty.html
index 441c962..f440836 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/AttributeProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/AttributeProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.reflect.AttributeProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.reflect.AttributeProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.reflect.AttributeProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.reflect.AttributeProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -212,6 +212,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseArcProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseArcProperty.html
index a03d88d..5c0c506 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseArcProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseArcProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.BaseArcProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.BaseArcProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.BaseArcProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.BaseArcProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseProperty.html
index 508cdc5..7dd46cd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.BaseProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.BaseProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.BaseProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.BaseProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -181,6 +181,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseToManyProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseToManyProperty.html
index 92f8ae4..ed14af0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseToManyProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseToManyProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.BaseToManyProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.BaseToManyProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.BaseToManyProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.BaseToManyProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseToOneProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseToOneProperty.html
index 2f73583..5f3d9ad 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseToOneProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BaseToOneProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.BaseToOneProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.BaseToOneProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.BaseToOneProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.BaseToOneProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BeanAccessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BeanAccessor.html
index a47d0d6..4efd318 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BeanAccessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/BeanAccessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.BeanAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.BeanAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.BeanAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.BeanAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ClassDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ClassDescriptor.html
index 6b70da9..f64ac81 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ClassDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ClassDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.reflect.ClassDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.reflect.ClassDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.reflect.ClassDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.reflect.ClassDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -593,6 +593,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ClassDescriptorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ClassDescriptorFactory.html
index f371aa1..9d30ecb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ClassDescriptorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ClassDescriptorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.reflect.ClassDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.reflect.ClassDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.reflect.ClassDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.reflect.ClassDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -245,6 +245,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ClassDescriptorMap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ClassDescriptorMap.html
index d1f486a..f7a95a3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ClassDescriptorMap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ClassDescriptorMap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.ClassDescriptorMap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.ClassDescriptorMap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.ClassDescriptorMap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.ClassDescriptorMap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -262,6 +262,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/Converter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/Converter.html
index d8ceae3..03b072c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/Converter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/Converter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.Converter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.Converter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.Converter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.Converter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -181,6 +181,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ConverterFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ConverterFactory.html
index 1b2ece9..3063fe8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ConverterFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ConverterFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.ConverterFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.ConverterFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.ConverterFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.ConverterFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/EmbeddableDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/EmbeddableDescriptor.html
index 135433f..d74208d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/EmbeddableDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/EmbeddableDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.reflect.EmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.reflect.EmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.reflect.EmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.reflect.EmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -221,6 +221,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/EmbeddedFieldAccessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/EmbeddedFieldAccessor.html
index cf1e6aa..f19be29 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/EmbeddedFieldAccessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/EmbeddedFieldAccessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.EmbeddedFieldAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.EmbeddedFieldAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.EmbeddedFieldAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.EmbeddedFieldAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/FaultFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/FaultFactory.html
index 5fa291a..d2ef76e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/FaultFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/FaultFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.reflect.FaultFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.reflect.FaultFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.reflect.FaultFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.reflect.FaultFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -195,6 +195,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/FieldAccessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/FieldAccessor.html
index 88dd67d..1e4e75e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/FieldAccessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/FieldAccessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.FieldAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.FieldAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.FieldAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.FieldAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/FieldEmbeddableDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/FieldEmbeddableDescriptor.html
index 9f298d4..16195fd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/FieldEmbeddableDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/FieldEmbeddableDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.FieldEmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.FieldEmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.FieldEmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.FieldEmbeddableDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/IdMapKeyAccessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/IdMapKeyAccessor.html
index b350143..53c15d4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/IdMapKeyAccessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/IdMapKeyAccessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.IdMapKeyAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.IdMapKeyAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.IdMapKeyAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.IdMapKeyAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/LazyClassDescriptorDecorator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/LazyClassDescriptorDecorator.html
index f03c9b8..ce575ff 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/LazyClassDescriptorDecorator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/LazyClassDescriptorDecorator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.LazyClassDescriptorDecorator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.LazyClassDescriptorDecorator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.LazyClassDescriptorDecorator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.LazyClassDescriptorDecorator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/LifecycleCallbackRegistry.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/LifecycleCallbackRegistry.html
index 2cee25c..26fd14d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/LifecycleCallbackRegistry.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/LifecycleCallbackRegistry.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.LifecycleCallbackRegistry (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.LifecycleCallbackRegistry (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.LifecycleCallbackRegistry (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.LifecycleCallbackRegistry (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -221,6 +221,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/MapAccessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/MapAccessor.html
index 988d9a1..776b708 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/MapAccessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/MapAccessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.MapAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.MapAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.MapAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.MapAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PersistentDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PersistentDescriptor.html
index d3687d4..7370d32 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PersistentDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PersistentDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.PersistentDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.PersistentDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.PersistentDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.PersistentDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -345,6 +345,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PersistentDescriptorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PersistentDescriptorFactory.html
index 75e6df6..89a426c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PersistentDescriptorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PersistentDescriptorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.PersistentDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.PersistentDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.PersistentDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.PersistentDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -189,6 +189,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/Property.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/Property.html
index fdc0f24..0dd884f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/Property.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/Property.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.reflect.Property (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.reflect.Property (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.reflect.Property (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.reflect.Property (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyAccessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyAccessor.html
index 8035e5a..2c61f5e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyAccessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyAccessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.PropertyAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.PropertyAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.PropertyAccessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.PropertyAccessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyDescriptor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyDescriptor.html
index ccff875..00a93f8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyDescriptor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyDescriptor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.reflect.PropertyDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.reflect.PropertyDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.reflect.PropertyDescriptor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.reflect.PropertyDescriptor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -387,6 +387,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyException.html
index c2a8e1e..1b0c672 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.PropertyException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.PropertyException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.PropertyException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.PropertyException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -437,6 +437,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyUtils.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyUtils.html
index 94e3670..8ed703f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyUtils.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyUtils.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.PropertyUtils (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.PropertyUtils (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.PropertyUtils (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.PropertyUtils (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyVisitor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyVisitor.html
index 4b9d4cd..cd73c7a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyVisitor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/PropertyVisitor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.reflect.PropertyVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.reflect.PropertyVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.reflect.PropertyVisitor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.reflect.PropertyVisitor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -229,6 +229,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/SimpleAttributeProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/SimpleAttributeProperty.html
index 10f7fdf..5f03a1a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/SimpleAttributeProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/SimpleAttributeProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.SimpleAttributeProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.SimpleAttributeProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.SimpleAttributeProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.SimpleAttributeProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/SingletonFaultFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/SingletonFaultFactory.html
index f08a334..4319728 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/SingletonFaultFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/SingletonFaultFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.SingletonFaultFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.SingletonFaultFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.SingletonFaultFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.SingletonFaultFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToAnyConverter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToAnyConverter.html
index 8b85eae..6a9d7e1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToAnyConverter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToAnyConverter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.ToAnyConverter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.ToAnyConverter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.ToAnyConverter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.ToAnyConverter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToManyMapProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToManyMapProperty.html
index 1c854c0..631cfce 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToManyMapProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToManyMapProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.reflect.ToManyMapProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.reflect.ToManyMapProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.reflect.ToManyMapProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.reflect.ToManyMapProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToManyProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToManyProperty.html
index 891e2df..0e0f5d0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToManyProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToManyProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.reflect.ToManyProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.reflect.ToManyProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.reflect.ToManyProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.reflect.ToManyProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -191,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToOneProperty.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToOneProperty.html
index a7968ce..eed3d5a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToOneProperty.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/ToOneProperty.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.reflect.ToOneProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.reflect.ToOneProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.reflect.ToOneProperty (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.reflect.ToOneProperty (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -176,6 +176,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/UnresolvablePathException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/UnresolvablePathException.html
index c17fb09..fdbc873 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/UnresolvablePathException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/class-use/UnresolvablePathException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.UnresolvablePathException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.UnresolvablePathException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.UnresolvablePathException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.UnresolvablePathException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory.html
index 43fba40..52a9457 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DataObjectDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DataObjectDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataObjectDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DataObjectDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -500,6 +500,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/class-use/DataObjectDescriptorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/class-use/DataObjectDescriptorFactory.html
index 3e67476..bc9a42b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/class-use/DataObjectDescriptorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/class-use/DataObjectDescriptorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.generic.DataObjectDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.generic.DataObjectDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.generic.DataObjectDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.generic.DataObjectDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-frame.html
index d580340..a8a41d1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.reflect.generic (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.reflect.generic (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-summary.html
index 46f6ada..1c0f134 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.reflect.generic (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.reflect.generic (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.reflect.generic (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.reflect.generic (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -142,6 +142,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-tree.html
index 29a910c..359ca1d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.reflect.generic Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.reflect.generic Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.reflect.generic Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.reflect.generic Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -138,6 +138,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-use.html
index da001d9..7308ac5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/generic/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.reflect.generic (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.reflect.generic (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.reflect.generic (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.reflect.generic (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-frame.html
index a614dc8..5e49bf7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.reflect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.reflect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-summary.html
index 80f879a..a3a8554 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.reflect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.reflect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.reflect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.reflect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -379,6 +379,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-tree.html
index ba634fe..6661597 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.reflect Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.reflect Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.reflect Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.reflect Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -211,6 +211,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-use.html
index c312f0f..be8e5ca 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.reflect (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.reflect (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.reflect (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.reflect (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -532,6 +532,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/ValueHolderDescriptorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/ValueHolderDescriptorFactory.html
index b685b1b..61c7101 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/ValueHolderDescriptorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/ValueHolderDescriptorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:14 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ValueHolderDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ValueHolderDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ValueHolderDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ValueHolderDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -387,6 +387,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/class-use/ValueHolderDescriptorFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/class-use/ValueHolderDescriptorFactory.html
index e434844..b5921a5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/class-use/ValueHolderDescriptorFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/class-use/ValueHolderDescriptorFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.reflect.valueholder.ValueHolderDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.reflect.valueholder.ValueHolderDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.reflect.valueholder.ValueHolderDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.reflect.valueholder.ValueHolderDescriptorFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-frame.html
index f027019..832c836 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.reflect.valueholder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.reflect.valueholder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-summary.html
index 6cb5148..390e70f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.reflect.valueholder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.reflect.valueholder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.reflect.valueholder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.reflect.valueholder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -142,6 +142,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-tree.html
index c1682b0..3d6f120 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.reflect.valueholder Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.reflect.valueholder Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.reflect.valueholder Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.reflect.valueholder Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -138,6 +138,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-use.html
index ccaf67a..c259ea1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/reflect/valueholder/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.reflect.valueholder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.reflect.valueholder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.reflect.valueholder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.reflect.valueholder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/BaseConnection.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/BaseConnection.html
index 347bdf5..d68692d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/BaseConnection.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/BaseConnection.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BaseConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BaseConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BaseConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BaseConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -416,6 +416,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/BootstrapMessage.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/BootstrapMessage.html
index d52a679..83652f7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/BootstrapMessage.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/BootstrapMessage.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BootstrapMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BootstrapMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BootstrapMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BootstrapMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/ClientChannel.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/ClientChannel.html
index ea6e79a..bb35f27 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/ClientChannel.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/ClientChannel.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClientChannel (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClientChannel (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClientChannel (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClientChannel (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -565,6 +565,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/ClientConnection.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/ClientConnection.html
index 7c3936c..bcc0627 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/ClientConnection.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/ClientConnection.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClientConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClientConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClientConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClientConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -262,6 +262,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/ClientMessage.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/ClientMessage.html
index 13f2c88..37cf585 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/ClientMessage.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/ClientMessage.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClientMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClientMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClientMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClientMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -178,6 +178,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/QueryMessage.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/QueryMessage.html
index 79e8ee0..bb9fb10 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/QueryMessage.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/QueryMessage.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -337,6 +337,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/RemoteIncrementalFaultList.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/RemoteIncrementalFaultList.html
index b926a5a..a9e7e4a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/RemoteIncrementalFaultList.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/RemoteIncrementalFaultList.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>RemoteIncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>RemoteIncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="RemoteIncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="RemoteIncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -992,6 +992,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/RemoteService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/RemoteService.html
index 87969a9..7aace41 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/RemoteService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/RemoteService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>RemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>RemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="RemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="RemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -308,6 +308,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/RemoteSession.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/RemoteSession.html
index a76e01e..309fde8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/RemoteSession.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/RemoteSession.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>RemoteSession (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>RemoteSession (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="RemoteSession (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="RemoteSession (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -532,6 +532,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/SyncMessage.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/SyncMessage.html
index 6a7128c..7df9cbf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/SyncMessage.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/SyncMessage.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SyncMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SyncMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SyncMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SyncMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -399,6 +399,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/BaseConnection.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/BaseConnection.html
index e1eed24..d16fc19 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/BaseConnection.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/BaseConnection.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.BaseConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.BaseConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.BaseConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.BaseConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -185,6 +185,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/BootstrapMessage.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/BootstrapMessage.html
index 929ff27..1b1bf52 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/BootstrapMessage.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/BootstrapMessage.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.BootstrapMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.BootstrapMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.BootstrapMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.BootstrapMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/ClientChannel.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/ClientChannel.html
index 3374499..e70d1a7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/ClientChannel.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/ClientChannel.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.ClientChannel (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.ClientChannel (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.ClientChannel (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.ClientChannel (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/ClientConnection.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/ClientConnection.html
index 39874f5..ad0e686 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/ClientConnection.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/ClientConnection.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.remote.ClientConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.remote.ClientConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.remote.ClientConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.remote.ClientConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -303,6 +303,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/ClientMessage.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/ClientMessage.html
index 1f1354c..3264793 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/ClientMessage.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/ClientMessage.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.remote.ClientMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.remote.ClientMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.remote.ClientMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.remote.ClientMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -288,6 +288,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/QueryMessage.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/QueryMessage.html
index cc4341e..5d5136e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/QueryMessage.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/QueryMessage.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.QueryMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.QueryMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.QueryMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.QueryMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/RemoteIncrementalFaultList.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/RemoteIncrementalFaultList.html
index ac8aa78..0f761cc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/RemoteIncrementalFaultList.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/RemoteIncrementalFaultList.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.RemoteIncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.RemoteIncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.RemoteIncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.RemoteIncrementalFaultList (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/RemoteService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/RemoteService.html
index 5d4f4ad..3cced33 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/RemoteService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/RemoteService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.remote.RemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.remote.RemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.remote.RemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.remote.RemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -245,6 +245,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/RemoteSession.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/RemoteSession.html
index 48d3de8..6f96846 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/RemoteSession.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/RemoteSession.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.RemoteSession (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.RemoteSession (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.RemoteSession (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.RemoteSession (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -277,6 +277,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/SyncMessage.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/SyncMessage.html
index e2ad689..5802dfd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/SyncMessage.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/class-use/SyncMessage.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.SyncMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.SyncMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.SyncMessage (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.SyncMessage (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/ClientSerializerFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/ClientSerializerFactory.html
index 6fd93f9..d89169f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/ClientSerializerFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/ClientSerializerFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClientSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClientSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClientSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClientSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -305,6 +305,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/HessianConfig.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/HessianConfig.html
index 2ae54e9..e04c998 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/HessianConfig.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/HessianConfig.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HessianConfig (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HessianConfig (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HessianConfig (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HessianConfig (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -290,6 +290,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/class-use/ClientSerializerFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/class-use/ClientSerializerFactory.html
index 3c173fc..35ef932 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/class-use/ClientSerializerFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/class-use/ClientSerializerFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.hessian.ClientSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.hessian.ClientSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.hessian.ClientSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.hessian.ClientSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/class-use/HessianConfig.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/class-use/HessianConfig.html
index 6813b7e..3e1a349 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/class-use/HessianConfig.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/class-use/HessianConfig.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.hessian.HessianConfig (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.hessian.HessianConfig (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.hessian.HessianConfig (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.hessian.HessianConfig (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-frame.html
index f008d58..9f00f78 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.remote.hessian (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.remote.hessian (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-summary.html
index 0fab39e..ecad8f0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.remote.hessian (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.remote.hessian (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.remote.hessian (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.remote.hessian (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -147,6 +147,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-tree.html
index da4aeb1..531ef9a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.remote.hessian Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.remote.hessian Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.remote.hessian Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.remote.hessian Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -139,6 +139,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-use.html
index 5b37cf1..262e420 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.remote.hessian (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.remote.hessian (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.remote.hessian (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.remote.hessian (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/HessianService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/HessianService.html
index 6a19334..59a10ca 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/HessianService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/HessianService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HessianService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HessianService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HessianService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HessianService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -358,6 +358,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/HessianUtil.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/HessianUtil.html
index 36e07a9..4851f30 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/HessianUtil.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/HessianUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HessianUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HessianUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HessianUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HessianUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -271,6 +271,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/ServerSerializerFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/ServerSerializerFactory.html
index d43f74e..8355533 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/ServerSerializerFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/ServerSerializerFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:13 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ServerSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ServerSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ServerSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ServerSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -271,6 +271,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/class-use/HessianService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/class-use/HessianService.html
index eabebe4..1c076a1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/class-use/HessianService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/class-use/HessianService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.hessian.service.HessianService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.hessian.service.HessianService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.hessian.service.HessianService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.hessian.service.HessianService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/class-use/HessianUtil.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/class-use/HessianUtil.html
index e94b885..7a1ff36 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/class-use/HessianUtil.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/class-use/HessianUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.hessian.service.HessianUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.hessian.service.HessianUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.hessian.service.HessianUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.hessian.service.HessianUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/class-use/ServerSerializerFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/class-use/ServerSerializerFactory.html
index 4bdfa4a..61f9e47 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/class-use/ServerSerializerFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/class-use/ServerSerializerFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.hessian.service.ServerSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.hessian.service.ServerSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.hessian.service.ServerSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.hessian.service.ServerSerializerFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-frame.html
index ab35a6b..abd0188 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.remote.hessian.service (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.remote.hessian.service (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-summary.html
index 9af576d..38efe6a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.remote.hessian.service (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.remote.hessian.service (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.remote.hessian.service (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.remote.hessian.service (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -153,6 +153,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-tree.html
index 2dee945..17306a5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.remote.hessian.service Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.remote.hessian.service Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.remote.hessian.service Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.remote.hessian.service Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -148,6 +148,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-use.html
index e86a0a7..e1c82d2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/hessian/service/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.remote.hessian.service (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.remote.hessian.service (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.remote.hessian.service (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.remote.hessian.service (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-frame.html
index 9f474bf..762d874 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.remote (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.remote (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-summary.html
index 13f58ba..6b21202 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.remote (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.remote (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.remote (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.remote (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -220,6 +220,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-tree.html
index 3317fa9..6c1241a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.remote Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.remote Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.remote Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.remote Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -154,6 +154,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-use.html
index f460fcd..7891152 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.remote (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.remote (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.remote (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.remote (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -295,6 +295,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/BaseRemoteService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/BaseRemoteService.html
index 6de6f56..e64a3bb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/BaseRemoteService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/BaseRemoteService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BaseRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BaseRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BaseRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BaseRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -581,6 +581,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/HttpRemoteService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/HttpRemoteService.html
index b7e410e..197d0da 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/HttpRemoteService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/HttpRemoteService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -413,6 +413,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/LocalConnection.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/LocalConnection.html
index ce84847..74047d0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/LocalConnection.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/LocalConnection.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LocalConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>LocalConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LocalConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="LocalConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -497,6 +497,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/MissingSessionException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/MissingSessionException.html
index f1db02b..59f71d8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/MissingSessionException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/MissingSessionException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MissingSessionException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MissingSessionException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MissingSessionException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MissingSessionException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -293,6 +293,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/ServerSession.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/ServerSession.html
index 9c91042..51d8def 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/ServerSession.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/ServerSession.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ServerSession (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ServerSession (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ServerSession (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ServerSession (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -344,6 +344,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/BaseRemoteService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/BaseRemoteService.html
index b48e74a..869acad 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/BaseRemoteService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/BaseRemoteService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.service.BaseRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.service.BaseRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.service.BaseRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.service.BaseRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -210,6 +210,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/HttpRemoteService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/HttpRemoteService.html
index 975f7b8..03e2205 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/HttpRemoteService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/HttpRemoteService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.service.HttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.service.HttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.service.HttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.service.HttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -185,6 +185,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/LocalConnection.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/LocalConnection.html
index ef56dce..3429c5e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/LocalConnection.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/LocalConnection.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.service.LocalConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.service.LocalConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.service.LocalConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.service.LocalConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/MissingSessionException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/MissingSessionException.html
index 2bd7239..f097c2e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/MissingSessionException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/MissingSessionException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.service.MissingSessionException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.service.MissingSessionException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.service.MissingSessionException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.service.MissingSessionException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/ServerSession.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/ServerSession.html
index 8c0118e..3e41522 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/ServerSession.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/class-use/ServerSession.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.remote.service.ServerSession (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.remote.service.ServerSession (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.remote.service.ServerSession (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.remote.service.ServerSession (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -195,6 +195,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-frame.html
index ec99b2c..41b18c2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.remote.service (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.remote.service (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-summary.html
index a0121a1..4514d63 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.remote.service (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.remote.service (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.remote.service (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.remote.service (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-tree.html
index 727b07e..7aa73ff 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.remote.service Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.remote.service Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.remote.service Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.remote.service Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-use.html
index f72b23c..e0b51a7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/remote/service/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.remote.service (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.remote.service (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.remote.service (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.remote.service (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -215,6 +215,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/ClassLoaderResourceLocator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/ClassLoaderResourceLocator.html
index 480228e..03a6f21 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/ClassLoaderResourceLocator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/ClassLoaderResourceLocator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClassLoaderResourceLocator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClassLoaderResourceLocator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClassLoaderResourceLocator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClassLoaderResourceLocator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -309,6 +309,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/FilesystemResourceLocator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/FilesystemResourceLocator.html
index aa5bc35..00161cc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/FilesystemResourceLocator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/FilesystemResourceLocator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FilesystemResourceLocator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>FilesystemResourceLocator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FilesystemResourceLocator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="FilesystemResourceLocator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -362,6 +362,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/Resource.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/Resource.html
index d51d62c..06fd524 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/Resource.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/Resource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Resource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Resource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Resource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Resource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -252,6 +252,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/ResourceLocator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/ResourceLocator.html
index 0fde90d..ea122c4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/ResourceLocator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/ResourceLocator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ResourceLocator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ResourceLocator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ResourceLocator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ResourceLocator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -230,6 +230,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/URLResource.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/URLResource.html
index 64b7716..0c31a99 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/URLResource.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/URLResource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>URLResource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>URLResource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="URLResource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="URLResource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -327,6 +327,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/ClassLoaderResourceLocator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/ClassLoaderResourceLocator.html
index 9ffa9d7..2d39e55 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/ClassLoaderResourceLocator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/ClassLoaderResourceLocator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.resource.ClassLoaderResourceLocator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.resource.ClassLoaderResourceLocator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.resource.ClassLoaderResourceLocator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.resource.ClassLoaderResourceLocator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/FilesystemResourceLocator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/FilesystemResourceLocator.html
index 71e4e90..0e83684 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/FilesystemResourceLocator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/FilesystemResourceLocator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.resource.FilesystemResourceLocator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.resource.FilesystemResourceLocator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.resource.FilesystemResourceLocator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.resource.FilesystemResourceLocator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/Resource.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/Resource.html
index 10e41e1..f5c0c23 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/Resource.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/Resource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.resource.Resource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.resource.Resource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.resource.Resource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.resource.Resource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/ResourceLocator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/ResourceLocator.html
index 79b369b..6579bc5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/ResourceLocator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/ResourceLocator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.resource.ResourceLocator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.resource.ResourceLocator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.resource.ResourceLocator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.resource.ResourceLocator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -620,6 +620,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/URLResource.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/URLResource.html
index 738595d..17a55a0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/URLResource.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/class-use/URLResource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.resource.URLResource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.resource.URLResource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.resource.URLResource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.resource.URLResource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-frame.html
index 7c20534..7902018 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.resource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.resource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-summary.html
index fa54903..9864a8a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.resource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.resource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.resource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.resource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -175,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-tree.html
index 8c0b3fc..5740de9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.resource Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.resource Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.resource Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.resource Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -145,6 +145,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-use.html
index 4b4fd95..e9658f2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/resource/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.resource (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.resource (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.resource (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.resource (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -530,6 +530,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/HessianROPSerializationService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/HessianROPSerializationService.html
index a368a08..906149b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/HessianROPSerializationService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/HessianROPSerializationService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HessianROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HessianROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HessianROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HessianROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -382,6 +382,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/HttpClientConnection.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/HttpClientConnection.html
index a2038a2..cc0029a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/HttpClientConnection.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/HttpClientConnection.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HttpClientConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HttpClientConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HttpClientConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HttpClientConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -429,6 +429,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/HttpClientConnectionProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/HttpClientConnectionProvider.html
index 740b713..389bd48 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/HttpClientConnectionProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/HttpClientConnectionProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HttpClientConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HttpClientConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HttpClientConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HttpClientConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -342,6 +342,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ProxyRemoteService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ProxyRemoteService.html
index 3eeef76..b7ae343 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ProxyRemoteService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ProxyRemoteService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ProxyRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ProxyRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ProxyRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ProxyRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -410,6 +410,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPConnector.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPConnector.html
index 5183db0..898afe1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPConnector.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPConnector.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ROPConnector (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ROPConnector (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ROPConnector (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ROPConnector (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPConstants.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPConstants.html
index c52ba55..f8978ab 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPConstants.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPConstants.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ROPConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ROPConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ROPConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ROPConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -325,6 +325,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPRequestContext.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPRequestContext.html
index d9b629f..6419ceb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPRequestContext.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPRequestContext.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ROPRequestContext (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ROPRequestContext (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ROPRequestContext (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ROPRequestContext (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -318,6 +318,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPSerializationService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPSerializationService.html
index 80b4038..b0ae50b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPSerializationService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPSerializationService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -292,6 +292,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPServlet.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPServlet.html
index aa11748..653fa88 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPServlet.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPServlet.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ROPServlet (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ROPServlet (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ROPServlet (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ROPServlet (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -432,6 +432,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPUtil.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPUtil.html
index eeb25e1..3efbd4f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPUtil.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ROPUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ROPUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ROPUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ROPUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ROPUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ServerHessianSerializationServiceProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ServerHessianSerializationServiceProvider.html
index f90ad2d..e2f9eae 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ServerHessianSerializationServiceProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ServerHessianSerializationServiceProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ServerHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ServerHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ServerHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ServerHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -316,6 +316,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ServerHttpRemoteService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ServerHttpRemoteService.html
index ef96877..d4cd20b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ServerHttpRemoteService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/ServerHttpRemoteService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ServerHttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ServerHttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ServerHttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ServerHttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -321,6 +321,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/HessianROPSerializationService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/HessianROPSerializationService.html
index cda87fa..1b4a8bf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/HessianROPSerializationService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/HessianROPSerializationService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.rop.HessianROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.rop.HessianROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.rop.HessianROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.rop.HessianROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/HttpClientConnection.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/HttpClientConnection.html
index 4aac5d2..c6916b5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/HttpClientConnection.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/HttpClientConnection.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.rop.HttpClientConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.rop.HttpClientConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.rop.HttpClientConnection (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.rop.HttpClientConnection (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/HttpClientConnectionProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/HttpClientConnectionProvider.html
index 3e092ab..310c509 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/HttpClientConnectionProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/HttpClientConnectionProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.rop.HttpClientConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.rop.HttpClientConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.rop.HttpClientConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.rop.HttpClientConnectionProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ProxyRemoteService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ProxyRemoteService.html
index bdbebdd..c19d3ec 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ProxyRemoteService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ProxyRemoteService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.rop.ProxyRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.rop.ProxyRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.rop.ProxyRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.rop.ProxyRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPConnector.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPConnector.html
index 712d0de..4dc7955 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPConnector.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPConnector.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.rop.ROPConnector (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.rop.ROPConnector (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.rop.ROPConnector (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.rop.ROPConnector (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -195,6 +195,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPConstants.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPConstants.html
index 4e39e90..06860bf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPConstants.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPConstants.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.rop.ROPConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.rop.ROPConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.rop.ROPConstants (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.rop.ROPConstants (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPRequestContext.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPRequestContext.html
index b857d02..3a3e652 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPRequestContext.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPRequestContext.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.rop.ROPRequestContext (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.rop.ROPRequestContext (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.rop.ROPRequestContext (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.rop.ROPRequestContext (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPSerializationService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPSerializationService.html
index 7cca4c0..fa591f8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPSerializationService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPSerializationService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.rop.ROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.rop.ROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.rop.ROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.rop.ROPSerializationService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -229,6 +229,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPServlet.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPServlet.html
index af0c916..7f4a0f8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPServlet.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPServlet.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.rop.ROPServlet (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.rop.ROPServlet (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.rop.ROPServlet (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.rop.ROPServlet (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPUtil.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPUtil.html
index b0a6f4e..8ba09df 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPUtil.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ROPUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.rop.ROPUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.rop.ROPUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.rop.ROPUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.rop.ROPUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ServerHessianSerializationServiceProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ServerHessianSerializationServiceProvider.html
index 4ad998f..bbb9eed 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ServerHessianSerializationServiceProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ServerHessianSerializationServiceProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.rop.ServerHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.rop.ServerHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.rop.ServerHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.rop.ServerHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ServerHttpRemoteService.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ServerHttpRemoteService.html
index f1ddda9..2f07ee4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ServerHttpRemoteService.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/class-use/ServerHttpRemoteService.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.rop.ServerHttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.rop.ServerHttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.rop.ServerHttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.rop.ServerHttpRemoteService (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/ClientHessianSerializationServiceProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/ClientHessianSerializationServiceProvider.html
index a51d724..f4d95ff 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/ClientHessianSerializationServiceProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/ClientHessianSerializationServiceProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ClientHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ClientHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ClientHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ClientHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -316,6 +316,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/HttpROPConnector.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/HttpROPConnector.html
index 5d7df13..0f2efc2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/HttpROPConnector.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/HttpROPConnector.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:52 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HttpROPConnector (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HttpROPConnector (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HttpROPConnector (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HttpROPConnector (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -489,6 +489,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/class-use/ClientHessianSerializationServiceProvider.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/class-use/ClientHessianSerializationServiceProvider.html
index ce9954a..ed570a3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/class-use/ClientHessianSerializationServiceProvider.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/class-use/ClientHessianSerializationServiceProvider.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.rop.http.ClientHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.rop.http.ClientHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.rop.http.ClientHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.rop.http.ClientHessianSerializationServiceProvider (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/class-use/HttpROPConnector.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/class-use/HttpROPConnector.html
index 6649456..b688443 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/class-use/HttpROPConnector.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/class-use/HttpROPConnector.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.rop.http.HttpROPConnector (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.rop.http.HttpROPConnector (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.rop.http.HttpROPConnector (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.rop.http.HttpROPConnector (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-frame.html
index 6992ce3..1b2c4b2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.rop.http (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.rop.http (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-summary.html
index f8b3817..3982fd0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.rop.http (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.rop.http (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.rop.http (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.rop.http (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -143,6 +143,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-tree.html
index c2c53ad..daf01f5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.rop.http Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.rop.http Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.rop.http Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.rop.http Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -135,6 +135,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-use.html
index 10a2a03..7d4a30d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/http/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.rop.http (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.rop.http (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.rop.http (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.rop.http (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -154,6 +154,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-frame.html
index df91ed4..e1be688 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.rop (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.rop (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-summary.html
index 364f192..e1bbd91 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.rop (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.rop (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.rop (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.rop (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -198,6 +198,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-tree.html
index f60dbb8..9d22e00 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.rop Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.rop Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.rop Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.rop Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -168,6 +168,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-use.html
index 25d9c82..272d37f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/rop/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.rop (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.rop (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.rop (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.rop (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -193,6 +193,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/BaseTransaction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/BaseTransaction.html
index 6cfb931..4c240e7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/BaseTransaction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/BaseTransaction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BaseTransaction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BaseTransaction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BaseTransaction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BaseTransaction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -741,6 +741,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/CayenneTransaction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/CayenneTransaction.html
index 0bcc6fd..f28a365 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/CayenneTransaction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/CayenneTransaction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CayenneTransaction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CayenneTransaction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CayenneTransaction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CayenneTransaction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -411,6 +411,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/DefaultTransactionFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/DefaultTransactionFactory.html
index 7f60416..69245e4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/DefaultTransactionFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/DefaultTransactionFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultTransactionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultTransactionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultTransactionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultTransactionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -332,6 +332,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/DefaultTransactionManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/DefaultTransactionManager.html
index 6fbe2ce..cf4e33c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/DefaultTransactionManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/DefaultTransactionManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DefaultTransactionManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DefaultTransactionManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DefaultTransactionManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DefaultTransactionManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -360,6 +360,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/ExternalTransaction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/ExternalTransaction.html
index f6b415e..78818ec 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/ExternalTransaction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/ExternalTransaction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ExternalTransaction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ExternalTransaction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExternalTransaction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ExternalTransaction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -370,6 +370,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/Transaction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/Transaction.html
index 4a3ff6f..382715f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/Transaction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/Transaction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Transaction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Transaction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Transaction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Transaction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -362,6 +362,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionFactory.html
index 3ccb41d..53c0ce6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TransactionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>TransactionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TransactionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="TransactionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -226,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionFilter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionFilter.html
index 6200f9f..1e55e8c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionFilter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TransactionFilter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>TransactionFilter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TransactionFilter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="TransactionFilter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -362,6 +362,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionListener.html
index 60141ce..90397db 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TransactionListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>TransactionListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TransactionListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="TransactionListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -254,6 +254,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionManager.html
index 3694cfd..93a79a9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TransactionManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>TransactionManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TransactionManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="TransactionManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -272,6 +272,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionalOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionalOperation.html
index b91ba32..f954ce5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionalOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/TransactionalOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:16 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TransactionalOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>TransactionalOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TransactionalOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="TransactionalOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -229,6 +229,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/BaseTransaction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/BaseTransaction.html
index f31e68b..a9a7c3f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/BaseTransaction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/BaseTransaction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.tx.BaseTransaction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.tx.BaseTransaction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.tx.BaseTransaction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.tx.BaseTransaction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/CayenneTransaction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/CayenneTransaction.html
index 251aa7e..14dde48 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/CayenneTransaction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/CayenneTransaction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.tx.CayenneTransaction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.tx.CayenneTransaction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.tx.CayenneTransaction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.tx.CayenneTransaction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/DefaultTransactionFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/DefaultTransactionFactory.html
index b5ea424..4390cea 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/DefaultTransactionFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/DefaultTransactionFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.tx.DefaultTransactionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.tx.DefaultTransactionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.tx.DefaultTransactionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.tx.DefaultTransactionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/DefaultTransactionManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/DefaultTransactionManager.html
index f833d47..a896ea2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/DefaultTransactionManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/DefaultTransactionManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.tx.DefaultTransactionManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.tx.DefaultTransactionManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.tx.DefaultTransactionManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.tx.DefaultTransactionManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/ExternalTransaction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/ExternalTransaction.html
index d1ce0f2..27f3e94 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/ExternalTransaction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/ExternalTransaction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.tx.ExternalTransaction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.tx.ExternalTransaction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.tx.ExternalTransaction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.tx.ExternalTransaction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/Transaction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/Transaction.html
index 2f5cadd..7c5eebb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/Transaction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/Transaction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.tx.Transaction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.tx.Transaction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.tx.Transaction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.tx.Transaction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -275,6 +275,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionFactory.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionFactory.html
index 132ffb4..05ae4a1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionFactory.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionFactory.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.tx.TransactionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.tx.TransactionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.tx.TransactionFactory (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.tx.TransactionFactory (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -242,6 +242,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionFilter.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionFilter.html
index 88bb8e4..02f5643 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionFilter.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.tx.TransactionFilter (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.tx.TransactionFilter (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.tx.TransactionFilter (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.tx.TransactionFilter (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionListener.html
index 7764a66..bf02f15 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.tx.TransactionListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.tx.TransactionListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.tx.TransactionListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.tx.TransactionListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -228,6 +228,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionManager.html
index 9ebfa46..18b64bd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.tx.TransactionManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.tx.TransactionManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.tx.TransactionManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.tx.TransactionManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -198,6 +198,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionalOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionalOperation.html
index 4b1dacd..3bffd21 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionalOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/class-use/TransactionalOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.tx.TransactionalOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.tx.TransactionalOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.tx.TransactionalOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.tx.TransactionalOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -225,6 +225,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-frame.html
index 59d16dd..cd93e03 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.tx (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.tx (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-summary.html
index 7e16f8d..c13aa47 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.tx (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.tx (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.tx (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.tx (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -205,6 +205,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-tree.html
index 4ac19ca..0578da0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.tx Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.tx Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.tx Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.tx Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-use.html
index b865af3..2b8feeb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/tx/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.tx (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.tx (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.tx (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.tx (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -237,6 +237,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/Base64Codec.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/Base64Codec.html
index 9d0ffc3..2618c55 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/Base64Codec.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/Base64Codec.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Base64Codec (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Base64Codec (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Base64Codec (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Base64Codec (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -385,6 +385,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/CayenneMapEntry.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/CayenneMapEntry.html
index 6b12eae..09ccf6d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/CayenneMapEntry.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/CayenneMapEntry.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CayenneMapEntry (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>CayenneMapEntry (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CayenneMapEntry (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="CayenneMapEntry (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -262,6 +262,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ConversionUtil.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ConversionUtil.html
index a292f48..dcf23cb 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ConversionUtil.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ConversionUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ConversionUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ConversionUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ConversionUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ConversionUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/DeepMergeOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/DeepMergeOperation.html
index 1657f54..2673d00 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/DeepMergeOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/DeepMergeOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DeepMergeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DeepMergeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DeepMergeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DeepMergeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -278,6 +278,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/DeleteRuleUpdater.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/DeleteRuleUpdater.html
index b4dbe2b..56d13df 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/DeleteRuleUpdater.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/DeleteRuleUpdater.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DeleteRuleUpdater (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>DeleteRuleUpdater (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DeleteRuleUpdater (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="DeleteRuleUpdater (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -367,6 +367,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/EntityMergeListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/EntityMergeListener.html
index d8f0949..cb1d154 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/EntityMergeListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/EntityMergeListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EntityMergeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EntityMergeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EntityMergeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EntityMergeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -243,6 +243,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/EqualsBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/EqualsBuilder.html
index 725290d..27cda4e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/EqualsBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/EqualsBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EqualsBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EqualsBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EqualsBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EqualsBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -891,6 +891,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/EventUtil.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/EventUtil.html
index 42d4cdd..d9433c5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/EventUtil.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/EventUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EventUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>EventUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EventUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="EventUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -269,6 +269,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/GenericQueryResult.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/GenericQueryResult.html
index e483a96..2c9bdae 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/GenericQueryResult.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/GenericQueryResult.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GenericQueryResult (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>GenericQueryResult (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="GenericQueryResult (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="GenericQueryResult (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -462,6 +462,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/GenericResponse.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/GenericResponse.html
index 96789f0..74529d6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/GenericResponse.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/GenericResponse.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GenericResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>GenericResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="GenericResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="GenericResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -597,6 +597,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/HashCodeBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/HashCodeBuilder.html
index 7eab09b..a437221 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/HashCodeBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/HashCodeBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HashCodeBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>HashCodeBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HashCodeBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="HashCodeBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -805,6 +805,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/IDUtil.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/IDUtil.html
index ab3eb1c..489ef00 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/IDUtil.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/IDUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IDUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IDUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IDUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IDUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -326,6 +326,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/IncrementalListResponse.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/IncrementalListResponse.html
index 475c9b7..e870c22 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/IncrementalListResponse.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/IncrementalListResponse.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IncrementalListResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IncrementalListResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IncrementalListResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IncrementalListResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -337,6 +337,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/IndexPropertyList.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/IndexPropertyList.html
index 5202de5..6394960 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/IndexPropertyList.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/IndexPropertyList.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>IndexPropertyList (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>IndexPropertyList (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IndexPropertyList (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="IndexPropertyList (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -738,6 +738,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/Invocation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/Invocation.html
index f879e1d..50b15c7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/Invocation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/Invocation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Invocation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Invocation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Invocation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Invocation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -488,6 +488,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ListResponse.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ListResponse.html
index a3b2758..094eabe 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ListResponse.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ListResponse.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ListResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ListResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ListResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ListResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -522,6 +522,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/LocalizedStringsHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/LocalizedStringsHandler.html
index e72fdc3..49b0bbd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/LocalizedStringsHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/LocalizedStringsHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LocalizedStringsHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>LocalizedStringsHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LocalizedStringsHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="LocalizedStringsHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -339,6 +339,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/MemoryBlob.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/MemoryBlob.html
index a510b09..3c799f6 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/MemoryBlob.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/MemoryBlob.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MemoryBlob (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MemoryBlob (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MemoryBlob (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MemoryBlob (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -608,6 +608,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/MemoryClob.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/MemoryClob.html
index 5fe93d0..eac7816 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/MemoryClob.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/MemoryClob.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MemoryClob (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>MemoryClob (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MemoryClob (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="MemoryClob (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -664,6 +664,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ObjectContextGraphAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ObjectContextGraphAction.html
index 3f9a5eb..d78f417 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ObjectContextGraphAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ObjectContextGraphAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjectContextGraphAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjectContextGraphAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjectContextGraphAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjectContextGraphAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -388,6 +388,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ObjectContextQueryAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ObjectContextQueryAction.html
index 3fcb81c..03a5548 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ObjectContextQueryAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ObjectContextQueryAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjectContextQueryAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjectContextQueryAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjectContextQueryAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjectContextQueryAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -575,6 +575,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ObjectDetachOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ObjectDetachOperation.html
index f39a57d..9910582 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ObjectDetachOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ObjectDetachOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ObjectDetachOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ObjectDetachOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObjectDetachOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ObjectDetachOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectCollection.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectCollection.html
index b5c1032..c20e241 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectCollection.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectCollection.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PersistentObjectCollection (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PersistentObjectCollection (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PersistentObjectCollection (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PersistentObjectCollection (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -106,7 +106,7 @@
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/cayenne/util/PersistentObjectList.html" title="class in org.apache.cayenne.util">PersistentObjectList</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a>, <a href="../../../../org/apache/cayenne/access/ToManyList.html" title="class in org.apache.cayenne.access">ToManyList</a></dd>
+<dd><a href="../../../../org/apache/cayenne/util/PersistentObjectList.html" title="class in org.apache.cayenne.util">PersistentObjectList</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a>, <a href="../../../../org/apache/cayenne/access/ToManyList.html" title="class in org.apache.cayenne.access">ToManyList</a>, <a href="../../../../org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></dd>
 </dl>
 <hr>
 <br>
@@ -268,6 +268,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectHolder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectHolder.html
index d836894..4d3e1ac 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectHolder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectHolder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PersistentObjectHolder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PersistentObjectHolder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PersistentObjectHolder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PersistentObjectHolder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -528,6 +528,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectList.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectList.html
index 4e8d540..4de1e29 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectList.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectList.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PersistentObjectList (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PersistentObjectList (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PersistentObjectList (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PersistentObjectList (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -1208,6 +1208,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectMap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectMap.html
index 2580870..eb27a4e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectMap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectMap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PersistentObjectMap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PersistentObjectMap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PersistentObjectMap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PersistentObjectMap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -878,6 +878,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectSet.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectSet.html
index 43312a1..8b590ee 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectSet.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/PersistentObjectSet.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PersistentObjectSet (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>PersistentObjectSet (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,13 +13,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PersistentObjectSet (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="PersistentObjectSet (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -117,6 +117,10 @@
 <dt>All Implemented Interfaces:</dt>
 <dd><a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>, <a href="../../../../org/apache/cayenne/util/PersistentObjectCollection.html" title="interface in org.apache.cayenne.util">PersistentObjectCollection</a>, <a href="../../../../org/apache/cayenne/ValueHolder.html" title="interface in org.apache.cayenne">ValueHolder</a></dd>
 </dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">PersistentObjectSet</span>
@@ -269,58 +273,78 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#mergeLocalChanges-java.util.List-">mergeLocalChanges</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;resolved)</code>&nbsp;</td>
 </tr>
 <tr id="i15" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#postprocessAdd-java.util.Collection-">postprocessAdd</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;?&gt;&nbsp;collection)</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#postprocessAdd-java.lang.Object-">postprocessAdd</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;addedObject)</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#postprocessRemove-java.util.Collection-">postprocessRemove</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;?&gt;&nbsp;collection)</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#postprocessRemove-java.lang.Object-">postprocessRemove</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;removedObject)</code>&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#remove-java.lang.Object-">remove</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#removeAll-java.util.Collection-">removeAll</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&nbsp;c)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#removeDirectly-java.lang.Object-">removeDirectly</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;target)</code>
 <div class="block">Removes an object without triggering an event</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#resolvedObjectSet--">resolvedObjectSet</a></span>()</code>
 <div class="block">Returns internal objects list resolving it if needed.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#retainAll-java.util.Collection-">retainAll</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&nbsp;c)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#setObjectSet-java.util.Set-">setObjectSet</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&nbsp;objectSet)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#setValue-java.lang.Object-">setValue</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
 <div class="block">Sets an object stored by this ValueHolder.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#setValueDirectly-java.lang.Object-">setValueDirectly</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
 <div class="block">Sets ValueHolder vaue without triggering fault resolution.</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#shouldAddToRemovedFromUnresolvedSet-java.lang.Object-">shouldAddToRemovedFromUnresolvedSet</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object)</code>&nbsp;</td>
+</tr>
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#size--">size</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#toArray--">toArray</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#toArray-java.lang.Object:A-">toArray</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;a)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/util/PersistentObjectSet.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -540,6 +564,15 @@
 <pre>public&nbsp;void&nbsp;setObjectSet(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&nbsp;objectSet)</pre>
 </li>
 </ul>
+<a name="shouldAddToRemovedFromUnresolvedSet-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shouldAddToRemovedFromUnresolvedSet</h4>
+<pre>protected&nbsp;boolean&nbsp;shouldAddToRemovedFromUnresolvedSet(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object)</pre>
+</li>
+</ul>
 <a name="add-java.lang.Object-">
 <!--   -->
 </a>
@@ -794,6 +827,42 @@
 </dl>
 </li>
 </ul>
+<a name="postprocessAdd-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>postprocessAdd</h4>
+<pre>protected&nbsp;void&nbsp;postprocessAdd(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;?&gt;&nbsp;collection)</pre>
+</li>
+</ul>
+<a name="postprocessRemove-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>postprocessRemove</h4>
+<pre>protected&nbsp;void&nbsp;postprocessRemove(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;?&gt;&nbsp;collection)</pre>
+</li>
+</ul>
+<a name="postprocessAdd-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>postprocessAdd</h4>
+<pre>protected&nbsp;void&nbsp;postprocessAdd(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;addedObject)</pre>
+</li>
+</ul>
+<a name="postprocessRemove-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>postprocessRemove</h4>
+<pre>protected&nbsp;void&nbsp;postprocessRemove(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;removedObject)</pre>
+</li>
+</ul>
 <a name="toString--">
 <!--   -->
 </a>
@@ -906,6 +975,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ProcedureResultBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ProcedureResultBuilder.html
index 6032244..1076a6a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ProcedureResultBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ProcedureResultBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ProcedureResultBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ProcedureResultBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ProcedureResultBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ProcedureResultBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -351,6 +351,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/QueryResultBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/QueryResultBuilder.html
index 610a5e4..6305cda 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/QueryResultBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/QueryResultBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>QueryResultBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>QueryResultBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QueryResultBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="QueryResultBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -369,6 +369,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/RelationshipFault.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/RelationshipFault.html
index 7ffd596..195a354 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/RelationshipFault.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/RelationshipFault.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>RelationshipFault (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>RelationshipFault (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="RelationshipFault (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="RelationshipFault (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -425,6 +425,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ResultIteratorIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ResultIteratorIterator.html
index 517f246..ac9b80a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ResultIteratorIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ResultIteratorIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ResultIteratorIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ResultIteratorIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ResultIteratorIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ResultIteratorIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -318,6 +318,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ShallowMergeOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ShallowMergeOperation.html
index e1ae78d..905ceb3 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ShallowMergeOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ShallowMergeOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ShallowMergeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ShallowMergeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ShallowMergeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ShallowMergeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -276,6 +276,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ToStringBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ToStringBuilder.html
index 4882981..94d2d7f 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ToStringBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/ToStringBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ToStringBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ToStringBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ToStringBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ToStringBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -514,6 +514,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/Util.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/Util.html
index c5550c8..52d8d11 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/Util.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/Util.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Util (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Util (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Util (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Util (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -817,6 +817,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/XMLEncoder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/XMLEncoder.html
index a8a5d5a..dfb884a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/XMLEncoder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/XMLEncoder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>XMLEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>XMLEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="XMLEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="XMLEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -657,6 +657,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/XMLSerializable.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/XMLSerializable.html
index 9270318..37f9b7e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/XMLSerializable.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/XMLSerializable.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>XMLSerializable (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>XMLSerializable (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="XMLSerializable (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="XMLSerializable (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -234,6 +234,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/Base64Codec.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/Base64Codec.html
index 2ef47b5..6dfa1b0 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/Base64Codec.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/Base64Codec.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.Base64Codec (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.Base64Codec (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.Base64Codec (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.Base64Codec (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/CayenneMapEntry.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/CayenneMapEntry.html
index 7fd8928..4852f62 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/CayenneMapEntry.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/CayenneMapEntry.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.util.CayenneMapEntry (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.util.CayenneMapEntry (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.util.CayenneMapEntry (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.util.CayenneMapEntry (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -313,6 +313,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ConversionUtil.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ConversionUtil.html
index 97266e6..fa2eaed 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ConversionUtil.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ConversionUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.ConversionUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.ConversionUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.ConversionUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.ConversionUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/DeepMergeOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/DeepMergeOperation.html
index e2b9018..90343dc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/DeepMergeOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/DeepMergeOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.DeepMergeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.DeepMergeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.DeepMergeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.DeepMergeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/DeleteRuleUpdater.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/DeleteRuleUpdater.html
index 681152e..87c5d70 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/DeleteRuleUpdater.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/DeleteRuleUpdater.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.DeleteRuleUpdater (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.DeleteRuleUpdater (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.DeleteRuleUpdater (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.DeleteRuleUpdater (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/EntityMergeListener.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/EntityMergeListener.html
index d4af0bd..d01977e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/EntityMergeListener.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/EntityMergeListener.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.util.EntityMergeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.util.EntityMergeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.util.EntityMergeListener (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.util.EntityMergeListener (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -180,6 +180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/EqualsBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/EqualsBuilder.html
index b89cfb6..3df9a7a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/EqualsBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/EqualsBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.EqualsBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.EqualsBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.EqualsBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.EqualsBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -313,6 +313,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/EventUtil.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/EventUtil.html
index b44a2e7..c487ce4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/EventUtil.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/EventUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.EventUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.EventUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.EventUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.EventUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/GenericQueryResult.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/GenericQueryResult.html
index c15e588..882a223 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/GenericQueryResult.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/GenericQueryResult.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.GenericQueryResult (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.GenericQueryResult (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.GenericQueryResult (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.GenericQueryResult (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/GenericResponse.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/GenericResponse.html
index 5f9b057..7bcaa06 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/GenericResponse.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/GenericResponse.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.GenericResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.GenericResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.GenericResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.GenericResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/HashCodeBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/HashCodeBuilder.html
index 488c4fb..19357d9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/HashCodeBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/HashCodeBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.HashCodeBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.HashCodeBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.HashCodeBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.HashCodeBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -292,6 +292,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/IDUtil.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/IDUtil.html
index f7f56a4..d308d8a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/IDUtil.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/IDUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.IDUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.IDUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.IDUtil (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.IDUtil (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/IncrementalListResponse.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/IncrementalListResponse.html
index 1cdd5c8..27b840e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/IncrementalListResponse.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/IncrementalListResponse.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.IncrementalListResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.IncrementalListResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.IncrementalListResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.IncrementalListResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/IndexPropertyList.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/IndexPropertyList.html
index 7def218..5062057 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/IndexPropertyList.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/IndexPropertyList.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.IndexPropertyList (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.IndexPropertyList (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.IndexPropertyList (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.IndexPropertyList (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/Invocation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/Invocation.html
index 2ad632c..00160ff 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/Invocation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/Invocation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.Invocation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.Invocation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.Invocation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.Invocation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ListResponse.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ListResponse.html
index 1f6948d..fb0ea46 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ListResponse.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ListResponse.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.ListResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.ListResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.ListResponse (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.ListResponse (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/LocalizedStringsHandler.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/LocalizedStringsHandler.html
index 54b7588..34c84fd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/LocalizedStringsHandler.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/LocalizedStringsHandler.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.LocalizedStringsHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.LocalizedStringsHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.LocalizedStringsHandler (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.LocalizedStringsHandler (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/MemoryBlob.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/MemoryBlob.html
index dd0ee14..6c5cf0a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/MemoryBlob.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/MemoryBlob.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.MemoryBlob (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.MemoryBlob (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.MemoryBlob (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.MemoryBlob (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/MemoryClob.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/MemoryClob.html
index 2d94201..3431dde 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/MemoryClob.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/MemoryClob.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.MemoryClob (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.MemoryClob (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.MemoryClob (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.MemoryClob (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ObjectContextGraphAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ObjectContextGraphAction.html
index fc6ffe4..013b598 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ObjectContextGraphAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ObjectContextGraphAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.ObjectContextGraphAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.ObjectContextGraphAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.ObjectContextGraphAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.ObjectContextGraphAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ObjectContextQueryAction.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ObjectContextQueryAction.html
index 4bb4b7b..02a9525 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ObjectContextQueryAction.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ObjectContextQueryAction.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.ObjectContextQueryAction (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.ObjectContextQueryAction (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.ObjectContextQueryAction (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.ObjectContextQueryAction (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ObjectDetachOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ObjectDetachOperation.html
index 3eb0fc5..71c54cd 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ObjectDetachOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ObjectDetachOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.ObjectDetachOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.ObjectDetachOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.ObjectDetachOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.ObjectDetachOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectCollection.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectCollection.html
index 0aa159c..3b67a91 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectCollection.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectCollection.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.util.PersistentObjectCollection (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.util.PersistentObjectCollection (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.util.PersistentObjectCollection (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.util.PersistentObjectCollection (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -117,6 +117,10 @@
 <div class="block">A list that holds objects for to-many relationships.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -195,6 +199,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectHolder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectHolder.html
index 71edb6d..68ce5af 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectHolder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectHolder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.PersistentObjectHolder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.PersistentObjectHolder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.PersistentObjectHolder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.PersistentObjectHolder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectList.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectList.html
index d6bee4a..a6f632e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectList.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectList.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.PersistentObjectList (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.PersistentObjectList (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.PersistentObjectList (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.PersistentObjectList (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectMap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectMap.html
index cb77c04..128d135 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectMap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectMap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.PersistentObjectMap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.PersistentObjectMap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.PersistentObjectMap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.PersistentObjectMap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectSet.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectSet.html
index 547e9e8..8371aad 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectSet.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/PersistentObjectSet.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.PersistentObjectSet (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.PersistentObjectSet (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.PersistentObjectSet (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.PersistentObjectSet (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -73,7 +73,49 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.cayenne.util.PersistentObjectSet" class="title">Uses of Class<br>org.apache.cayenne.util.PersistentObjectSet</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.cayenne.util.PersistentObjectSet</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.cayenne.access">org.apache.cayenne.access</a></td>
+<td class="colLast">
+<div class="block">Contains classes that make up Cayenne ORM stack.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.cayenne.access">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a> in <a href="../../../../../org/apache/cayenne/access/package-summary.html">org.apache.cayenne.access</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a> in <a href="../../../../../org/apache/cayenne/access/package-summary.html">org.apache.cayenne.access</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -121,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ProcedureResultBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ProcedureResultBuilder.html
index 9d52554..6cfa704 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ProcedureResultBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ProcedureResultBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.ProcedureResultBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.ProcedureResultBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.ProcedureResultBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.ProcedureResultBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -176,6 +176,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/QueryResultBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/QueryResultBuilder.html
index 2dcec4b..e08a5e4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/QueryResultBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/QueryResultBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.QueryResultBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.QueryResultBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.QueryResultBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.QueryResultBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -188,6 +188,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/RelationshipFault.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/RelationshipFault.html
index ce562f8..d2eac1b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/RelationshipFault.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/RelationshipFault.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.RelationshipFault (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.RelationshipFault (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.RelationshipFault (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.RelationshipFault (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -117,6 +117,10 @@
 <div class="block">A list that holds objects for to-many relationships.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">ToManySet</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -206,6 +210,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ResultIteratorIterator.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ResultIteratorIterator.html
index c065c35..635dfaa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ResultIteratorIterator.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ResultIteratorIterator.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.ResultIteratorIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.ResultIteratorIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.ResultIteratorIterator (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.ResultIteratorIterator (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ShallowMergeOperation.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ShallowMergeOperation.html
index 09fa392..e3bf8ce 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ShallowMergeOperation.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ShallowMergeOperation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.ShallowMergeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.ShallowMergeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.ShallowMergeOperation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.ShallowMergeOperation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ToStringBuilder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ToStringBuilder.html
index 40ffd3e..4cce01d 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ToStringBuilder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/ToStringBuilder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.ToStringBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.ToStringBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.ToStringBuilder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.ToStringBuilder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/Util.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/Util.html
index 9911711..4204319 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/Util.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/Util.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.Util (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.Util (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.Util (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.Util (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/XMLEncoder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/XMLEncoder.html
index 0d91377..212c430 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/XMLEncoder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/XMLEncoder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.XMLEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.XMLEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.XMLEncoder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.XMLEncoder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -427,6 +427,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/XMLSerializable.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/XMLSerializable.html
index 08cbbc0..118ee8b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/XMLSerializable.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/class-use/XMLSerializable.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.util.XMLSerializable (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.util.XMLSerializable (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.util.XMLSerializable (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.util.XMLSerializable (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -856,6 +856,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/ConcurrentLinkedHashMap.Builder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/ConcurrentLinkedHashMap.Builder.html
index 183ca0b..b70cae9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/ConcurrentLinkedHashMap.Builder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/ConcurrentLinkedHashMap.Builder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ConcurrentLinkedHashMap.Builder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ConcurrentLinkedHashMap.Builder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ConcurrentLinkedHashMap.Builder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ConcurrentLinkedHashMap.Builder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -493,6 +493,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/ConcurrentLinkedHashMap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/ConcurrentLinkedHashMap.html
index f107825..c95f9ae 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/ConcurrentLinkedHashMap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/ConcurrentLinkedHashMap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ConcurrentLinkedHashMap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ConcurrentLinkedHashMap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ConcurrentLinkedHashMap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ConcurrentLinkedHashMap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -942,6 +942,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/class-use/ConcurrentLinkedHashMap.Builder.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/class-use/ConcurrentLinkedHashMap.Builder.html
index 0765928..0f308fa 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/class-use/ConcurrentLinkedHashMap.Builder.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/class-use/ConcurrentLinkedHashMap.Builder.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.concurrentlinkedhashmap.ConcurrentLinkedHashMap.Builder (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.concurrentlinkedhashmap.ConcurrentLinkedHashMap.Builder (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.concurrentlinkedhashmap.ConcurrentLinkedHashMap.Builder (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.concurrentlinkedhashmap.ConcurrentLinkedHashMap.Builder (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -198,6 +198,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/class-use/ConcurrentLinkedHashMap.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/class-use/ConcurrentLinkedHashMap.html
index a1dae6b..4894589 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/class-use/ConcurrentLinkedHashMap.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/class-use/ConcurrentLinkedHashMap.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:21 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.util.concurrentlinkedhashmap.ConcurrentLinkedHashMap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.util.concurrentlinkedhashmap.ConcurrentLinkedHashMap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.util.concurrentlinkedhashmap.ConcurrentLinkedHashMap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.util.concurrentlinkedhashmap.ConcurrentLinkedHashMap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-frame.html
index 6b7329b..eb83171 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.util.concurrentlinkedhashmap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.util.concurrentlinkedhashmap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-summary.html
index d56f6cf..f266e31 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.util.concurrentlinkedhashmap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.util.concurrentlinkedhashmap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.util.concurrentlinkedhashmap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.util.concurrentlinkedhashmap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -148,6 +148,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-tree.html
index a6a1e45..a3a53f1 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.util.concurrentlinkedhashmap Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.util.concurrentlinkedhashmap Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.util.concurrentlinkedhashmap Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.util.concurrentlinkedhashmap Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -139,6 +139,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-use.html
index dac3b39..7907011 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/concurrentlinkedhashmap/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.util.concurrentlinkedhashmap (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.util.concurrentlinkedhashmap (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.util.concurrentlinkedhashmap (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.util.concurrentlinkedhashmap (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-frame.html
index 8cffa7e..691feb9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.util (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.util (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-summary.html
index 69ed433..1c05c5c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.util (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.util (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.util (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.util (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -373,6 +373,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-tree.html
index ce966fa..ba9c365 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.util Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.util Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.util Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.util Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -197,6 +197,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-use.html
index 5c9a81b..bb7ca81 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/util/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.util (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.util (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.util (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.util (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -183,6 +183,9 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/cayenne/util/class-use/PersistentObjectSet.html#org.apache.cayenne.access">PersistentObjectSet</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/cayenne/util/class-use/RelationshipFault.html#org.apache.cayenne.access">RelationshipFault</a>
 <div class="block">An abstract superclass of lazily faulted to-one and to-many relationships.</div>
 </td>
@@ -441,6 +444,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/BeanValidationFailure.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/BeanValidationFailure.html
index 63bfa1e..92dff42 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/BeanValidationFailure.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/BeanValidationFailure.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BeanValidationFailure (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BeanValidationFailure (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BeanValidationFailure (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BeanValidationFailure (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -487,6 +487,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/SimpleValidationFailure.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/SimpleValidationFailure.html
index 62d2d06..04adbd4 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/SimpleValidationFailure.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/SimpleValidationFailure.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SimpleValidationFailure (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SimpleValidationFailure (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimpleValidationFailure (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SimpleValidationFailure (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -406,6 +406,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/ValidationException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/ValidationException.html
index fcd973b..7fd0e33 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/ValidationException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/ValidationException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ValidationException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ValidationException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ValidationException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ValidationException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -360,6 +360,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/ValidationFailure.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/ValidationFailure.html
index 430b5ac..c1e7751 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/ValidationFailure.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/ValidationFailure.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ValidationFailure (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ValidationFailure (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ValidationFailure (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ValidationFailure (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -278,6 +278,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/ValidationResult.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/ValidationResult.html
index 0a4166b..3d63895 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/ValidationResult.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/ValidationResult.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:51 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:12 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ValidationResult (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ValidationResult (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ValidationResult (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ValidationResult (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -398,6 +398,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/BeanValidationFailure.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/BeanValidationFailure.html
index 82baa79..0c298cc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/BeanValidationFailure.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/BeanValidationFailure.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.validation.BeanValidationFailure (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.validation.BeanValidationFailure (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.validation.BeanValidationFailure (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.validation.BeanValidationFailure (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/SimpleValidationFailure.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/SimpleValidationFailure.html
index 391bad5..9148852 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/SimpleValidationFailure.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/SimpleValidationFailure.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.validation.SimpleValidationFailure (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.validation.SimpleValidationFailure (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.validation.SimpleValidationFailure (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.validation.SimpleValidationFailure (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/ValidationException.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/ValidationException.html
index d1d4c38..545c570 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/ValidationException.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/ValidationException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.validation.ValidationException (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.validation.ValidationException (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.validation.ValidationException (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.validation.ValidationException (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/ValidationFailure.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/ValidationFailure.html
index c98d403..67fcd15 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/ValidationFailure.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/ValidationFailure.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.cayenne.validation.ValidationFailure (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Interface org.apache.cayenne.validation.ValidationFailure (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.cayenne.validation.ValidationFailure (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Interface org.apache.cayenne.validation.ValidationFailure (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -308,6 +308,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/ValidationResult.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/ValidationResult.html
index 2f93ac2..b53b4f7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/ValidationResult.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/class-use/ValidationResult.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.validation.ValidationResult (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.validation.ValidationResult (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.validation.ValidationResult (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.validation.ValidationResult (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-frame.html
index 169386b..3a98cef 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.validation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.validation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-summary.html
index 03fc25f..9942cbf 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.validation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.validation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.validation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.validation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -189,6 +189,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-tree.html
index f507d53..c511af8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.validation Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.validation Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.validation Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.validation Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-use.html
index de74450..0077ab7 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/validation/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.validation (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.validation (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.validation (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.validation (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -234,6 +234,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindDirective.html
index 56f11f0..bddd0a2 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BindDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BindDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BindDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BindDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -495,6 +495,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindEqualDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindEqualDirective.html
index a578c32..3d86692 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindEqualDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindEqualDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BindEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BindEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BindEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BindEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindNotEqualDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindNotEqualDirective.html
index a34fa98..e712612 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindNotEqualDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindNotEqualDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BindNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BindNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BindNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BindNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindObjectEqualDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindObjectEqualDirective.html
index 6801e50..cc7a56e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindObjectEqualDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindObjectEqualDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BindObjectEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BindObjectEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BindObjectEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BindObjectEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -450,6 +450,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindObjectNotEqualDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindObjectNotEqualDirective.html
index e75a5b5..abb2ee9 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindObjectNotEqualDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/BindObjectNotEqualDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BindObjectNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>BindObjectNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BindObjectNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="BindObjectNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -392,6 +392,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/ChainDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/ChainDirective.html
index bebe4b3..4cd142a 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/ChainDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/ChainDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ChainDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ChainDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ChainDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ChainDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -371,6 +371,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/ChunkDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/ChunkDirective.html
index 99aecc7..6a491cc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/ChunkDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/ChunkDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ChunkDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ChunkDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ChunkDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ChunkDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -372,6 +372,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/ResultDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/ResultDirective.html
index 30a970b..1090639 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/ResultDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/ResultDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ResultDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>ResultDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ResultDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="ResultDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -468,6 +468,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/SQLTemplateRenderingUtils.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/SQLTemplateRenderingUtils.html
index 2773227..2bd40f8 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/SQLTemplateRenderingUtils.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/SQLTemplateRenderingUtils.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLTemplateRenderingUtils (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLTemplateRenderingUtils (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLTemplateRenderingUtils (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLTemplateRenderingUtils (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -279,6 +279,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/SQLTemplateResourceManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/SQLTemplateResourceManager.html
index d7e2dda..219ff07 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/SQLTemplateResourceManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/SQLTemplateResourceManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SQLTemplateResourceManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>SQLTemplateResourceManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SQLTemplateResourceManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="SQLTemplateResourceManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -480,6 +480,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.html
index b69bda4..f6d6b5e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:53 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:18 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>VelocitySQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>VelocitySQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="VelocitySQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="VelocitySQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -367,6 +367,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindDirective.html
index 704b4dd..f3b279b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.velocity.BindDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.velocity.BindDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.velocity.BindDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.velocity.BindDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -184,6 +184,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindEqualDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindEqualDirective.html
index 8bd3354..79d7e17 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindEqualDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindEqualDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.velocity.BindEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.velocity.BindEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.velocity.BindEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.velocity.BindEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindNotEqualDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindNotEqualDirective.html
index 80009f0..e579e46 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindNotEqualDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindNotEqualDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.velocity.BindNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.velocity.BindNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.velocity.BindNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.velocity.BindNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindObjectEqualDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindObjectEqualDirective.html
index 02878fa..28ddba5 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindObjectEqualDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindObjectEqualDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.velocity.BindObjectEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.velocity.BindObjectEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.velocity.BindObjectEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.velocity.BindObjectEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindObjectNotEqualDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindObjectNotEqualDirective.html
index cc1be31..ed62b5b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindObjectNotEqualDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/BindObjectNotEqualDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.velocity.BindObjectNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.velocity.BindObjectNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.velocity.BindObjectNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.velocity.BindObjectNotEqualDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/ChainDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/ChainDirective.html
index 74c171b..fdd17cc 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/ChainDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/ChainDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.velocity.ChainDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.velocity.ChainDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.velocity.ChainDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.velocity.ChainDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/ChunkDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/ChunkDirective.html
index f778a67..5488b55 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/ChunkDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/ChunkDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.velocity.ChunkDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.velocity.ChunkDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.velocity.ChunkDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.velocity.ChunkDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/ResultDirective.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/ResultDirective.html
index 689727c..7b66045 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/ResultDirective.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/ResultDirective.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.velocity.ResultDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.velocity.ResultDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.velocity.ResultDirective (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.velocity.ResultDirective (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/SQLTemplateRenderingUtils.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/SQLTemplateRenderingUtils.html
index be46fd2..c2a0289 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/SQLTemplateRenderingUtils.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/SQLTemplateRenderingUtils.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.velocity.SQLTemplateRenderingUtils (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.velocity.SQLTemplateRenderingUtils (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.velocity.SQLTemplateRenderingUtils (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.velocity.SQLTemplateRenderingUtils (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/SQLTemplateResourceManager.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/SQLTemplateResourceManager.html
index 5ded7dc..a09be93 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/SQLTemplateResourceManager.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/SQLTemplateResourceManager.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.velocity.SQLTemplateResourceManager (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.velocity.SQLTemplateResourceManager (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.velocity.SQLTemplateResourceManager (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.velocity.SQLTemplateResourceManager (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/VelocitySQLTemplateProcessor.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/VelocitySQLTemplateProcessor.html
index 432da93..8f6d803 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/VelocitySQLTemplateProcessor.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/class-use/VelocitySQLTemplateProcessor.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:22 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.cayenne.velocity.VelocitySQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Class org.apache.cayenne.velocity.VelocitySQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.cayenne.velocity.VelocitySQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Class org.apache.cayenne.velocity.VelocitySQLTemplateProcessor (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-frame.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-frame.html
index e3b6dd4..99ad70b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-frame.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.velocity (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.velocity (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-summary.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-summary.html
index 9fa2b75..7de1f7c 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-summary.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.velocity (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.velocity (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.velocity (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.velocity (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -206,6 +206,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-tree.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-tree.html
index efd8e6c..2d49e2b 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-tree.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>org.apache.cayenne.velocity Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>org.apache.cayenne.velocity Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.cayenne.velocity Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="org.apache.cayenne.velocity Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-use.html b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-use.html
index cc48a96..ba89a9e 100644
--- a/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-use.html
+++ b/src/main/site/static/docs/4.0/api/org/apache/cayenne/velocity/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package org.apache.cayenne.velocity (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Uses of Package org.apache.cayenne.velocity (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.cayenne.velocity (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Uses of Package org.apache.cayenne.velocity (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -168,6 +168,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/overview-frame.html b/src/main/site/static/docs/4.0/api/overview-frame.html
index 9c2c4da..4620038 100644
--- a/src/main/site/static/docs/4.0/api/overview-frame.html
+++ b/src/main/site/static/docs/4.0/api/overview-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:54 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:19 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Overview List (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Overview List (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -47,6 +47,7 @@
 <li><a href="org/apache/cayenne/dba/h2/package-frame.html" target="packageFrame">org.apache.cayenne.dba.h2</a></li>
 <li><a href="org/apache/cayenne/dba/hsqldb/package-frame.html" target="packageFrame">org.apache.cayenne.dba.hsqldb</a></li>
 <li><a href="org/apache/cayenne/dba/ingres/package-frame.html" target="packageFrame">org.apache.cayenne.dba.ingres</a></li>
+<li><a href="org/apache/cayenne/dba/mariadb/package-frame.html" target="packageFrame">org.apache.cayenne.dba.mariadb</a></li>
 <li><a href="org/apache/cayenne/dba/mysql/package-frame.html" target="packageFrame">org.apache.cayenne.dba.mysql</a></li>
 <li><a href="org/apache/cayenne/dba/openbase/package-frame.html" target="packageFrame">org.apache.cayenne.dba.openbase</a></li>
 <li><a href="org/apache/cayenne/dba/oracle/package-frame.html" target="packageFrame">org.apache.cayenne.dba.oracle</a></li>
diff --git a/src/main/site/static/docs/4.0/api/overview-summary.html b/src/main/site/static/docs/4.0/api/overview-summary.html
index b7525b6..e88d96d 100644
--- a/src/main/site/static/docs/4.0/api/overview-summary.html
+++ b/src/main/site/static/docs/4.0/api/overview-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Overview (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Overview (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Overview (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Overview (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -71,7 +71,7 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h1 class="title">cayenne-doc: Cayenne Documentation 4.0.1 API</h1>
+<h1 class="title">cayenne-doc: Cayenne Documentation 4.0.2 API</h1>
 </div>
 <div class="contentContainer">
 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Packages table, listing packages, and an explanation">
@@ -232,168 +232,172 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="org/apache/cayenne/dba/mariadb/package-summary.html">org.apache.cayenne.dba.mariadb</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/dba/mysql/package-summary.html">org.apache.cayenne.dba.mysql</a></td>
 <td class="colLast">
 <div class="block">MySQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/dba/openbase/package-summary.html">org.apache.cayenne.dba.openbase</a></td>
 <td class="colLast">
 <div class="block">OpenBase DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/dba/oracle/package-summary.html">org.apache.cayenne.dba.oracle</a></td>
 <td class="colLast">
 <div class="block">Oracle DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/dba/postgres/package-summary.html">org.apache.cayenne.dba.postgres</a></td>
 <td class="colLast">
 <div class="block">PostgreSQL DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/dba/sqlite/package-summary.html">org.apache.cayenne.dba.sqlite</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/dba/sqlserver/package-summary.html">org.apache.cayenne.dba.sqlserver</a></td>
 <td class="colLast">
 <div class="block">MS SQLServer DbAdapter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/dba/sybase/package-summary.html">org.apache.cayenne.dba.sybase</a></td>
 <td class="colLast">
 <div class="block">Sybase DbAdapter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/di/package-summary.html">org.apache.cayenne.di</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/di/spi/package-summary.html">org.apache.cayenne.di.spi</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/ejbql/package-summary.html">org.apache.cayenne.ejbql</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/ejbql/parser/package-summary.html">org.apache.cayenne.ejbql.parser</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/event/package-summary.html">org.apache.cayenne.event</a></td>
 <td class="colLast">
 <div class="block">Contains classes that make up Cayenne generic event dispatch mechanism.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/exp/package-summary.html">org.apache.cayenne.exp</a></td>
 <td class="colLast">
 <div class="block">Cayenne data expression classes.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/exp/parser/package-summary.html">org.apache.cayenne.exp.parser</a></td>
 <td class="colLast">
 <div class="block">Contains expression parser and other expression internals.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/graph/package-summary.html">org.apache.cayenne.graph</a></td>
 <td class="colLast">
 <div class="block">Contains generic graph management tools used in Cayenne.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/log/package-summary.html">org.apache.cayenne.log</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/map/package-summary.html">org.apache.cayenne.map</a></td>
 <td class="colLast">
 <div class="block">Contains O/R mapping classes that store relational database 
 metadata information and map it to Java classes.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/map/event/package-summary.html">org.apache.cayenne.map.event</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/query/package-summary.html">org.apache.cayenne.query</a></td>
 <td class="colLast">
 <div class="block">Defines standard queries supported by Cayenne and extension mechanism to create
 custom queries.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/reflect/package-summary.html">org.apache.cayenne.reflect</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/reflect/generic/package-summary.html">org.apache.cayenne.reflect.generic</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/reflect/valueholder/package-summary.html">org.apache.cayenne.reflect.valueholder</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/remote/package-summary.html">org.apache.cayenne.remote</a></td>
 <td class="colLast">
 <div class="block">Contains classes an interfaces related to Cayenne remote object persistence features.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/remote/hessian/package-summary.html">org.apache.cayenne.remote.hessian</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/remote/hessian/service/package-summary.html">org.apache.cayenne.remote.hessian.service</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/remote/service/package-summary.html">org.apache.cayenne.remote.service</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/resource/package-summary.html">org.apache.cayenne.resource</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/rop/package-summary.html">org.apache.cayenne.rop</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/rop/http/package-summary.html">org.apache.cayenne.rop.http</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/tx/package-summary.html">org.apache.cayenne.tx</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/util/package-summary.html">org.apache.cayenne.util</a></td>
 <td class="colLast">
 <div class="block">General utility classes.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/util/concurrentlinkedhashmap/package-summary.html">org.apache.cayenne.util.concurrentlinkedhashmap</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/cayenne/validation/package-summary.html">org.apache.cayenne.validation</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/cayenne/velocity/package-summary.html">org.apache.cayenne.velocity</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -447,6 +451,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/overview-tree.html b/src/main/site/static/docs/4.0/api/overview-tree.html
index c729930..4197b8c 100644
--- a/src/main/site/static/docs/4.0/api/overview-tree.html
+++ b/src/main/site/static/docs/4.0/api/overview-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:56 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:23 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Class Hierarchy (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -107,6 +107,7 @@
 <li><a href="org/apache/cayenne/dba/h2/package-tree.html">org.apache.cayenne.dba.h2</a>, </li>
 <li><a href="org/apache/cayenne/dba/hsqldb/package-tree.html">org.apache.cayenne.dba.hsqldb</a>, </li>
 <li><a href="org/apache/cayenne/dba/ingres/package-tree.html">org.apache.cayenne.dba.ingres</a>, </li>
+<li><a href="org/apache/cayenne/dba/mariadb/package-tree.html">org.apache.cayenne.dba.mariadb</a>, </li>
 <li><a href="org/apache/cayenne/dba/mysql/package-tree.html">org.apache.cayenne.dba.mysql</a>, </li>
 <li><a href="org/apache/cayenne/dba/openbase/package-tree.html">org.apache.cayenne.dba.openbase</a>, </li>
 <li><a href="org/apache/cayenne/dba/oracle/package-tree.html">org.apache.cayenne.dba.oracle</a>, </li>
@@ -408,6 +409,7 @@
 </li>
 <li type="circle">org.apache.cayenne.dba.<a href="org/apache/cayenne/dba/DefaultQuotingStrategy.html" title="class in org.apache.cayenne.dba"><span class="typeNameLink">DefaultQuotingStrategy</span></a> (implements org.apache.cayenne.dba.<a href="org/apache/cayenne/dba/QuotingStrategy.html" title="interface in org.apache.cayenne.dba">QuotingStrategy</a>)</li>
 <li type="circle">org.apache.cayenne.access.jdbc.reader.<a href="org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.html" title="class in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">DefaultRowReaderFactory</span></a> (implements org.apache.cayenne.access.jdbc.reader.<a href="org/apache/cayenne/access/jdbc/reader/RowReaderFactory.html" title="interface in org.apache.cayenne.access.jdbc.reader">RowReaderFactory</a>)</li>
+<li type="circle">org.apache.cayenne.access.jdbc.reader.<a href="org/apache/cayenne/access/jdbc/reader/DefaultRowReaderFactory.PostprocessorFactory.html" title="class in org.apache.cayenne.access.jdbc.reader"><span class="typeNameLink">DefaultRowReaderFactory.PostprocessorFactory</span></a></li>
 <li type="circle">org.apache.cayenne.configuration.<a href="org/apache/cayenne/configuration/DefaultRuntimeProperties.html" title="class in org.apache.cayenne.configuration"><span class="typeNameLink">DefaultRuntimeProperties</span></a> (implements org.apache.cayenne.configuration.<a href="org/apache/cayenne/configuration/RuntimeProperties.html" title="interface in org.apache.cayenne.configuration">RuntimeProperties</a>)</li>
 <li type="circle">org.apache.cayenne.access.dbsync.<a href="org/apache/cayenne/access/dbsync/DefaultSchemaUpdateStrategyFactory.html" title="class in org.apache.cayenne.access.dbsync"><span class="typeNameLink">DefaultSchemaUpdateStrategyFactory</span></a> (implements org.apache.cayenne.access.dbsync.<a href="org/apache/cayenne/access/dbsync/SchemaUpdateStrategyFactory.html" title="interface in org.apache.cayenne.access.dbsync">SchemaUpdateStrategyFactory</a>)</li>
 <li type="circle">org.apache.cayenne.di.spi.<a href="org/apache/cayenne/di/spi/DefaultScope.html" title="class in org.apache.cayenne.di.spi"><span class="typeNameLink">DefaultScope</span></a> (implements org.apache.cayenne.di.<a href="org/apache/cayenne/di/Scope.html" title="interface in org.apache.cayenne.di">Scope</a>)</li>
@@ -501,6 +503,7 @@
 <li type="circle">org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventBridge.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">NoopEventBridge</span></a></li>
 </ul>
 </li>
+<li type="circle">org.apache.cayenne.event.<a href="org/apache/cayenne/event/EventManagerProvider.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">EventManagerProvider</span></a> (implements org.apache.cayenne.di.<a href="org/apache/cayenne/di/Provider.html" title="interface in org.apache.cayenne.di">Provider</a>&lt;T&gt;)</li>
 <li type="circle">java.util.<a href="https://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">EventObject</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.cayenne.event.<a href="org/apache/cayenne/event/CayenneEvent.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">CayenneEvent</span></a>
@@ -798,6 +801,7 @@
 <li type="circle">org.apache.cayenne.ashwood.graph.<a href="org/apache/cayenne/ashwood/graph/MapDigraph.html" title="class in org.apache.cayenne.ashwood.graph"><span class="typeNameLink">MapDigraph</span></a>&lt;E,V&gt; (implements org.apache.cayenne.ashwood.graph.<a href="org/apache/cayenne/ashwood/graph/Digraph.html" title="interface in org.apache.cayenne.ashwood.graph">Digraph</a>&lt;E,V&gt;)</li>
 <li type="circle">org.apache.cayenne.cache.<a href="org/apache/cayenne/cache/MapQueryCache.html" title="class in org.apache.cayenne.cache"><span class="typeNameLink">MapQueryCache</span></a> (implements org.apache.cayenne.cache.<a href="org/apache/cayenne/cache/QueryCache.html" title="interface in org.apache.cayenne.cache">QueryCache</a>, java.io.<a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.cayenne.cache.<a href="org/apache/cayenne/cache/MapQueryCacheProvider.html" title="class in org.apache.cayenne.cache"><span class="typeNameLink">MapQueryCacheProvider</span></a> (implements org.apache.cayenne.di.<a href="org/apache/cayenne/di/Provider.html" title="interface in org.apache.cayenne.di">Provider</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.cayenne.dba.mariadb.<a href="org/apache/cayenne/dba/mariadb/MariaDBSniffer.html" title="class in org.apache.cayenne.dba.mariadb"><span class="typeNameLink">MariaDBSniffer</span></a> (implements org.apache.cayenne.configuration.server.<a href="org/apache/cayenne/configuration/server/DbAdapterDetector.html" title="interface in org.apache.cayenne.configuration.server">DbAdapterDetector</a>)</li>
 <li type="circle">org.apache.cayenne.util.<a href="org/apache/cayenne/util/MemoryBlob.html" title="class in org.apache.cayenne.util"><span class="typeNameLink">MemoryBlob</span></a> (implements java.sql.<a href="https://docs.oracle.com/javase/7/docs/api/java/sql/Blob.html?is-external=true" title="class or interface in java.sql">Blob</a>)</li>
 <li type="circle">org.apache.cayenne.util.<a href="org/apache/cayenne/util/MemoryClob.html" title="class in org.apache.cayenne.util"><span class="typeNameLink">MemoryClob</span></a> (implements java.sql.<a href="https://docs.oracle.com/javase/7/docs/api/java/sql/Clob.html?is-external=true" title="class or interface in java.sql">Clob</a>)</li>
 <li type="circle">org.apache.cayenne.di.spi.<a href="org/apache/cayenne/di/spi/ModuleLoader.html" title="class in org.apache.cayenne.di.spi"><span class="typeNameLink">ModuleLoader</span></a></li>
@@ -814,6 +818,7 @@
 </ul>
 </li>
 <li type="circle">org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventBridgeProvider.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">NoopEventBridgeProvider</span></a> (implements org.apache.cayenne.di.<a href="org/apache/cayenne/di/Provider.html" title="interface in org.apache.cayenne.di">Provider</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.cayenne.event.<a href="org/apache/cayenne/event/NoopEventManager.html" title="class in org.apache.cayenne.event"><span class="typeNameLink">NoopEventManager</span></a> (implements org.apache.cayenne.event.<a href="org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a>)</li>
 <li type="circle">org.apache.cayenne.log.<a href="org/apache/cayenne/log/NoopJdbcEventLogger.html" title="class in org.apache.cayenne.log"><span class="typeNameLink">NoopJdbcEventLogger</span></a> (implements org.apache.cayenne.log.<a href="org/apache/cayenne/log/JdbcEventLogger.html" title="interface in org.apache.cayenne.log">JdbcEventLogger</a>)</li>
 <li type="circle">org.apache.cayenne.util.<a href="org/apache/cayenne/util/ObjectContextGraphAction.html" title="class in org.apache.cayenne.util"><span class="typeNameLink">ObjectContextGraphAction</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.cayenne.util.<a href="org/apache/cayenne/util/ObjectContextQueryAction.html" title="class in org.apache.cayenne.util"><span class="typeNameLink">ObjectContextQueryAction</span></a></li>
@@ -938,7 +943,11 @@
 </ul>
 </li>
 <li type="circle">org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectMap.html" title="class in org.apache.cayenne.util"><span class="typeNameLink">PersistentObjectMap</span></a> (implements java.util.<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;K,V&gt;, org.apache.cayenne.<a href="org/apache/cayenne/ValueHolder.html" title="interface in org.apache.cayenne">ValueHolder</a>)</li>
-<li type="circle">org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util"><span class="typeNameLink">PersistentObjectSet</span></a> (implements org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectCollection.html" title="interface in org.apache.cayenne.util">PersistentObjectCollection</a>, java.util.<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;E&gt;, org.apache.cayenne.<a href="org/apache/cayenne/ValueHolder.html" title="interface in org.apache.cayenne">ValueHolder</a>)</li>
+<li type="circle">org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util"><span class="typeNameLink">PersistentObjectSet</span></a> (implements org.apache.cayenne.util.<a href="org/apache/cayenne/util/PersistentObjectCollection.html" title="interface in org.apache.cayenne.util">PersistentObjectCollection</a>, java.util.<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;E&gt;, org.apache.cayenne.<a href="org/apache/cayenne/ValueHolder.html" title="interface in org.apache.cayenne">ValueHolder</a>)
+<ul>
+<li type="circle">org.apache.cayenne.access.<a href="org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access"><span class="typeNameLink">ToManySet</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
+</ul>
+</li>
 </ul>
 </li>
 <li type="circle">org.apache.cayenne.remote.<a href="org/apache/cayenne/remote/RemoteIncrementalFaultList.html" title="class in org.apache.cayenne.remote"><span class="typeNameLink">RemoteIncrementalFaultList</span></a> (implements java.util.<a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;E&gt;)</li>
@@ -1512,6 +1521,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/src/main/site/static/docs/4.0/api/package-list b/src/main/site/static/docs/4.0/api/package-list
index aede35b..903c76d 100644
--- a/src/main/site/static/docs/4.0/api/package-list
+++ b/src/main/site/static/docs/4.0/api/package-list
@@ -31,6 +31,7 @@
 org.apache.cayenne.dba.h2
 org.apache.cayenne.dba.hsqldb
 org.apache.cayenne.dba.ingres
+org.apache.cayenne.dba.mariadb
 org.apache.cayenne.dba.mysql
 org.apache.cayenne.dba.openbase
 org.apache.cayenne.dba.oracle
diff --git a/src/main/site/static/docs/4.0/api/serialized-form.html b/src/main/site/static/docs/4.0/api/serialized-form.html
index 69ab209..37cb20a 100644
--- a/src/main/site/static/docs/4.0/api/serialized-form.html
+++ b/src/main/site/static/docs/4.0/api/serialized-form.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_111) on Thu Dec 20 16:00:55 MSK 2018 -->
+<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:20 MSK 2019 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Serialized Form (cayenne-doc: Cayenne Documentation 4.0.1 API)</title>
-<meta name="date" content="2018-12-20">
+<title>Serialized Form (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
+<meta name="date" content="2019-10-14">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Serialized Form (cayenne-doc: Cayenne Documentation 4.0.1 API)";
+            parent.document.title="Serialized Form (cayenne-doc: Cayenne Documentation 4.0.2 API)";
         }
     }
     catch(err) {
@@ -570,6 +570,11 @@
 </li>
 </ul>
 </li>
+<li class="blockList"><a name="org.apache.cayenne.access.ToManySet">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/cayenne/access/ToManySet.html" title="class in org.apache.cayenne.access">org.apache.cayenne.access.ToManySet</a> extends <a href="org/apache/cayenne/util/PersistentObjectSet.html" title="class in org.apache.cayenne.util">PersistentObjectSet</a> implements Serializable</h3>
+</li>
 <li class="blockList"><a name="org.apache.cayenne.access.ToManySetFault">
 <!--   -->
 </a>
@@ -5215,6 +5220,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2018 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
 </body>
 </html>
