You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2025/04/10 09:11:43 UTC

(jackrabbit-oak) branch OAK-11650 updated: OAK-11650: Fix Javadoc errors - at end of line

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

reschke pushed a commit to branch OAK-11650
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git


The following commit(s) were added to refs/heads/OAK-11650 by this push:
     new 54a5476ea2 OAK-11650: Fix Javadoc errors - </li> at end of line
54a5476ea2 is described below

commit 54a5476ea284c602f8a135ba3c0a1e8babb75b81
Author: Julian Reschke <re...@apache.org>
AuthorDate: Thu Apr 10 10:11:26 2025 +0100

    OAK-11650: Fix Javadoc errors - </li> at end of line
---
 .../oak/api/jmx/RepositoryManagementMBean.java     |  12 +--
 .../external/impl/jmx/SynchronizationMBean.java    |  10 +-
 .../ExternalIdentityRepositoryInitializer.java     |   2 +-
 .../principalbased/impl/FilterProviderImpl.java    |   4 +-
 .../suites/ScalabilityNodeRelationshipSuite.java   |   8 +-
 .../suites/ScalabilityStandbySuite.java            |   2 +-
 .../jackrabbit/oak/spi/blob/AbstractBlobStore.java |   6 +-
 .../apache/jackrabbit/oak/commons/PerfLogger.java  |   4 +-
 .../jackrabbit/oak/spi/mount/FragmentMatcher.java  |   4 +-
 .../jackrabbit/oak/plugins/cow/COWNodeStore.java   |   6 +-
 .../oak/plugins/index/property/PropertyIndex.java  |  14 +--
 .../oak/plugins/migration/FilteringNodeState.java  |  10 +-
 .../migration/version/VersionableEditor.java       |   2 +-
 .../oak/plugins/nodetype/TypeRegistration.java     |  10 +-
 .../nodetype/write/ReadWriteNodeTypeManager.java   |  14 +--
 .../oak/plugins/tree/impl/ImmutableTree.java       |   6 +-
 .../AuthenticationConfigurationImpl.java           |   2 +-
 .../authentication/CallbackHandlerImpl.java        |   8 +-
 .../authentication/token/TokenLoginModule.java     |   8 +-
 .../authentication/user/LoginModuleImpl.java       |  12 +--
 .../authorization/AuthorizationInitializer.java    |   4 +-
 .../CompositeAuthorizationConfiguration.java       |  12 +--
 .../restriction/RestrictionProviderImpl.java       |   6 +-
 .../oak/security/user/CacheConflictHandler.java    |  16 +--
 .../security/user/RepMembersConflictHandler.java   |  10 +-
 .../oak/security/user/UserAuthentication.java      |   6 +-
 .../jackrabbit/oak/security/user/UserImporter.java |  16 +--
 .../oak/security/user/UserInitializer.java         |  10 +-
 .../jackrabbit/oak/security/user/UserProvider.java |  28 ++---
 .../oak/security/user/MembershipTest.java          |   8 +-
 .../ReadOnlyAuthorizationConfiguration.java        |  10 +-
 .../apache/jackrabbit/api/binary/BinaryUpload.java |  18 ++--
 .../jackrabbit/api/security/user/Authorizable.java |   4 +-
 .../jackrabbit/oak/jcr/delegate/package-info.java  |  16 +--
 .../oak/plugins/index/lucene/LuceneIndex.java      |  12 +--
 .../plugins/index/lucene/LucenePropertyIndex.java  |  12 +--
 .../apache/lucene/codecs/BlockTreeTermsWriter.java |  60 +++++------
 .../CompressingStoredFieldsIndexWriter.java        |  38 +++----
 .../apache/lucene/codecs/lucene40/BitVector.java   |   8 +-
 .../codecs/lucene40/Lucene40DocValuesFormat.java   |  68 ++++++------
 .../codecs/lucene40/Lucene40FieldInfosFormat.java  |  64 ++++++------
 .../codecs/lucene40/Lucene40LiveDocsFormat.java    |  12 +--
 .../codecs/lucene40/Lucene40NormsFormat.java       |   4 +-
 .../codecs/lucene40/Lucene40PostingsFormat.java    |  58 +++++------
 .../codecs/lucene40/Lucene40SegmentInfoFormat.java |  26 ++---
 .../lucene40/Lucene40StoredFieldsFormat.java       |  40 ++++----
 .../codecs/lucene40/Lucene40TermVectorsFormat.java |  54 +++++-----
 .../codecs/lucene41/Lucene41PostingsFormat.java    | 114 ++++++++++-----------
 .../lucene41/Lucene41StoredFieldsFormat.java       |  70 ++++++-------
 .../codecs/lucene42/Lucene42DocValuesFormat.java   |  34 +++---
 .../codecs/lucene42/Lucene42FieldInfosFormat.java  |  44 ++++----
 .../codecs/lucene42/Lucene42NormsFormat.java       |   4 +-
 .../codecs/lucene42/Lucene42TermVectorsFormat.java |  96 ++++++++---------
 .../codecs/lucene45/Lucene45DocValuesFormat.java   |  54 +++++-----
 .../codecs/lucene46/Lucene46FieldInfosFormat.java  |  48 ++++-----
 .../codecs/lucene46/Lucene46SegmentInfoFormat.java |  24 ++---
 .../lucene/index/DocumentsWriterDeleteQueue.java   |   8 +-
 .../lucene/index/FlushByRamOrCountsPolicy.java     |   6 +-
 .../java/org/apache/lucene/index/FlushPolicy.java  |   4 +-
 .../java/org/apache/lucene/index/SegmentInfos.java |  32 +++---
 .../java/org/apache/lucene/search/Collector.java   |   8 +-
 .../lucene/search/similarities/IBSimilarity.java   |  16 +--
 .../lucene/search/similarities/LMSimilarity.java   |   6 +-
 .../apache/lucene/store/CompoundFileDirectory.java |  14 +--
 .../java/org/apache/lucene/util/WAH8DocIdSet.java  |   8 +-
 .../org/apache/lucene/util/WeakIdentityMap.java    |   4 +-
 .../flatfile/DefaultAheadOfTimeBlobDownloader.java |   4 +-
 .../flatfile/linkedList/PersistedLinkedListV2.java |   4 +-
 .../index/elastic/ElasticIndexStatistics.java      |   6 +-
 .../elastic/query/ElasticSpellcheckIterator.java   |   4 +-
 .../index/search/update/RefreshOnReadPolicy.java   |   4 +-
 .../jackrabbit/oak/plugins/tree/TreeType.java      |  10 +-
 .../authentication/AbstractLoginModule.java        |  38 +++----
 .../security/authentication/GuestLoginModule.java  |   4 +-
 .../security/user/action/AccessControlAction.java  |   4 +-
 .../security/user/action/AuthorizableAction.java   |   8 +-
 .../oak/spi/security/user/action/GroupAction.java  |  10 +-
 .../user/action/PasswordValidationAction.java      |   2 +-
 .../oak/spi/security/user/action/UserAction.java   |   2 +-
 .../remote/persistentcache/DiskCacheIOMonitor.java |  12 +--
 .../persistentcache/RedisCacheIOMonitor.java       |   8 +-
 .../oak/segment/CheckpointCompactor.java           |   4 +-
 .../jackrabbit/oak/segment/CommitsTracker.java     |   2 +-
 .../oak/segment/SegmentBufferMonitor.java          |   8 +-
 .../oak/segment/file/MetricsIOMonitor.java         |   8 +-
 .../oak/segment/file/tar/GCGeneration.java         |   6 +-
 .../segment/spi/persistence/JournalFileWriter.java |   4 +-
 .../spi/persistence/SegmentArchiveWriter.java      |  12 +--
 .../oak/composite/CompositeNodeStore.java          |   4 +-
 .../jackrabbit/oak/composite/package-info.java     |   6 +-
 .../oak/plugins/document/ClusterView.java          |  18 ++--
 .../oak/plugins/document/ClusterViewDocument.java  |   6 +-
 .../jackrabbit/oak/plugins/document/Collision.java |   4 +-
 .../document/DocumentDiscoveryLiteService.java     |  10 +-
 .../DocumentNodeStoreServiceConfiguration.java     |   6 +-
 .../oak/plugins/document/bundlor/Include.java      |  10 +-
 .../oak/plugins/document/rdb/RDBDocumentStore.java |  20 ++--
 .../jackrabbit/oak/spi/commit/EmptyHook.java       |   4 +-
 .../jackrabbit/oak/spi/state/MoveDetector.java     |  10 +-
 .../jackrabbit/oak/spi/state/NodeBuilder.java      |  10 +-
 100 files changed, 815 insertions(+), 815 deletions(-)

diff --git a/oak-api/src/main/java/org/apache/jackrabbit/oak/api/jmx/RepositoryManagementMBean.java b/oak-api/src/main/java/org/apache/jackrabbit/oak/api/jmx/RepositoryManagementMBean.java
index d374f739b1..9c879ef4e3 100644
--- a/oak-api/src/main/java/org/apache/jackrabbit/oak/api/jmx/RepositoryManagementMBean.java
+++ b/oak-api/src/main/java/org/apache/jackrabbit/oak/api/jmx/RepositoryManagementMBean.java
@@ -49,23 +49,23 @@ import org.osgi.annotation.versioning.ProviderType;
  *     system is in a state where it does not allow the operation to
  *     be carried out (e.g. the operation is already running). The
  *     {@code message} should give further indication of the exact
- *     reason.</li>
+ *     reason.
  *     <li>{@code 1}: <em>Status not available</em>. Usually because
  *     there was no prior attempt to start the operation. The
  *     {@code message} should give further indication of the exact
- *     reason.</li>
+ *     reason.
  *     <li>{@code 2}: <em>Operation initiated</em>. The {@code message}
  *     should give further information of when the operation was
  *     initiated. This status mean that the operation will be performed
  *     some time in the future without impacting overall system behaviour
  *     and that no further status updates will be available until this
- *     operation is performed next time.</li>
- *     <li>{@code 3}: <em>Operation running</em>.</li>
+ *     operation is performed next time.
+ *     <li>{@code 3}: <em>Operation running</em>.
  *     <li>{@code 4}: <em>Operation succeeded</em>. The {@code message} should
  *     give further information on how long the operation took to
- *     complete.</li>
+ *     complete.
  *     <li>{@code 5}: Operation failed. The {@code message} should give
- *     further information on the reason for the failure.</li>
+ *     further information on the reason for the failure.
  * </ul>
  * <p>
  * In all cases the {@code message} may provide additional information
diff --git a/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SynchronizationMBean.java b/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SynchronizationMBean.java
index 3c57b8331d..19be24391e 100644
--- a/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SynchronizationMBean.java
+++ b/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SynchronizationMBean.java
@@ -33,11 +33,11 @@ import org.osgi.annotation.versioning.ProviderType;
  *
  * With the following operations:
  * <ul>
- * <li>nop: nothing changed</li>
- * <li>upd: entry updated</li>
- * <li>add: entry added</li>
- * <li>del: entry deleted</li>
- * <li>err: operation failed. in this case, the 'msg' property will contain a reason</li>
+ * <li>nop: nothing changed
+ * <li>upd: entry updated
+ * <li>add: entry added
+ * <li>del: entry deleted
+ * <li>err: operation failed. in this case, the 'msg' property will contain a reason
  * </ul>
  *
  * Note that this interface is not exported via OSGi as it is not intended to use outside of JMX (yet).
diff --git a/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityRepositoryInitializer.java b/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityRepositoryInitializer.java
index 96e3bf2eac..b9fa78c58b 100644
--- a/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityRepositoryInitializer.java
+++ b/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityRepositoryInitializer.java
@@ -33,7 +33,7 @@ import java.util.List;
  *     <li>Index Definition <i>externalPrincipalNames</i>: Indexing
  *     {@link ExternalIdentityConstants#REP_EXTERNAL_PRINCIPAL_NAMES} properties.
  *     This index is used by the {@link ExternalGroupPrincipalProvider} to lookup
- *     and find principals stored in this property.</li>
+ *     and find principals stored in this property.
  * </ul>
  *
  * @since Oak 1.5.3
diff --git a/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/FilterProviderImpl.java b/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/FilterProviderImpl.java
index 65370a4df8..be3caf304d 100644
--- a/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/FilterProviderImpl.java
+++ b/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/FilterProviderImpl.java
@@ -53,8 +53,8 @@ import java.util.concurrent.ConcurrentHashMap;
  * consists of the following two filtering conditions:
  *
  * <ol>
- *     <li>All principals in the set must be of type {@link org.apache.jackrabbit.oak.spi.security.principal.SystemUserPrincipal}</li>
- *     <li>All principals in the set must be located in the repository below the configured path.</li>
+ *     <li>All principals in the set must be of type {@link org.apache.jackrabbit.oak.spi.security.principal.SystemUserPrincipal}
+ *     <li>All principals in the set must be located in the repository below the configured path.
  * </ol>
  */
 @Component(service = {FilterProvider.class}, configurationPolicy = ConfigurationPolicy.REQUIRE)
diff --git a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeRelationshipSuite.java b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeRelationshipSuite.java
index 9bab05e08d..fb73f4a2f6 100644
--- a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeRelationshipSuite.java
+++ b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeRelationshipSuite.java
@@ -63,10 +63,10 @@ import org.apache.jackrabbit.guava.common.base.Splitter;
  *     <code>nodeLevels</code> - Comma separated string property that governs the number of number of
  *     different node relationships in the following order:
  *      <ul>
- *          <li>Users</li>
- *          <li>Groups</li>
- *          <li>User Relationships</li>
- *          <li>Activities</li>
+ *          <li>Users
+ *          <li>Groups
+ *          <li>User Relationships
+ *          <li>Activities
  *      </ul>
  *
  *     Defaults to 10,5,2,1.
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityStandbySuite.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityStandbySuite.java
index fb5ab479b5..c5ced4cc22 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityStandbySuite.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityStandbySuite.java
@@ -50,7 +50,7 @@ import org.apache.jackrabbit.oak.scalability.benchmarks.ScalabilityBenchmark;
  * 
  * <ul>
  * <li><code>nodeCount</code> - Controls the number of nodes to be created on
- * the primary. Defaults to 100_000.</li>
+ * the primary. Defaults to 100_000.
  * </ul>
  *
  */
diff --git a/oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/AbstractBlobStore.java b/oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/AbstractBlobStore.java
index 24ff274d87..b042175e0f 100644
--- a/oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/AbstractBlobStore.java
+++ b/oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/AbstractBlobStore.java
@@ -64,9 +64,9 @@ import static org.apache.jackrabbit.oak.commons.conditions.Validate.checkArgumen
  * <p>
  * Each data store id is a list of zero or more entries. Each entry is either
  * <ul>
- * <li>data (a number of bytes), or</li>
- * <li>the hash code of the content of a number of bytes, or</li>
- * <li>the hash code of the content of a data store id (indirect hash)</li>
+ * <li>data (a number of bytes), or
+ * <li>the hash code of the content of a number of bytes, or
+ * <li>the hash code of the content of a data store id (indirect hash)
  * </ul>
  * Thanks to the indirection, blocks can be kept relatively small, so that
  * caching is simpler, and so that the storage backend doesn't need to support
diff --git a/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/PerfLogger.java b/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/PerfLogger.java
index 756e6ad3a4..1b3d4fd1ef 100644
--- a/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/PerfLogger.java
+++ b/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/PerfLogger.java
@@ -27,9 +27,9 @@ import org.slf4j.Logger;
  * <p>
  * Usage:
  * <ul>
- * <li>final long start = perflogger.start();</li>
+ * <li>final long start = perflogger.start();
  * <li>.. some code ..
- * <li>perflogger.end(start, 1, "myMethodName: param1={}", param1);</li>
+ * <li>perflogger.end(start, 1, "myMethodName: param1={}", param1);
  * </ul>
  * <p>
  * The above will do nothing if the log level for the logger passed
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/FragmentMatcher.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/FragmentMatcher.java
index 12bf2bcf1c..aefd62c1ae 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/FragmentMatcher.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/FragmentMatcher.java
@@ -26,8 +26,8 @@ import static org.apache.jackrabbit.oak.spi.mount.FragmentMatcher.Result.PARTIAL
  * This utility class allows to match strings against a simple pattern language.
  * There are two special characters:
  * <ul>
- *     <li><code>*</code> - matches zero or more any characters different than slash</li>
- *     <li><code>$</code> - matches the end of the subject</li>
+ *     <li><code>*</code> - matches zero or more any characters different than slash
+ *     <li><code>$</code> - matches the end of the subject
  * </ul>
  */
 public final class FragmentMatcher {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/cow/COWNodeStore.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/cow/COWNodeStore.java
index 815cb3c083..1bbb47f190 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/cow/COWNodeStore.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/cow/COWNodeStore.java
@@ -55,11 +55,11 @@ import java.util.concurrent.CopyOnWriteArrayList;
  * <ul>
  *     <li>turning the CoW mode on and off requires cleaning up the
  *     <a href="https://jackrabbit.apache.org/oak/docs/query/lucene.html#copy-on-read">lucene
- *     indexing cache</a>,</li>
+ *     indexing cache</a>,
  *     <li>switching the CoW mode may result in repository inconsistencies
- *     (eg. if two merges belongs to the same logical commit sequence),</li>
+ *     (eg. if two merges belongs to the same logical commit sequence),
  *     <li>in the CoW mode the changes are stored in MemoryNodeStore, so it
- *     shouldn't be enabled for too long (otherwise it may exhaust the heap).</li>
+ *     shouldn't be enabled for too long (otherwise it may exhaust the heap).
  * </ul>
  */
 public class COWNodeStore implements NodeStore, Observable {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndex.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndex.java
index b205cb2db0..5a54ed4ac8 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndex.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndex.java
@@ -45,21 +45,21 @@ import org.slf4j.LoggerFactory;
  * <br>
  * Next (as a child node) follows the index definition node that:
  * <ul>
- * <li>must be of type <code>oak:QueryIndexDefinition</code></li>
- * <li>must have the <code>type</code> property set to <b><code>property</code></b></li>
- * <li>contains the <code>propertyNames</code> property that indicates what property will be stored in the index</li>
+ * <li>must be of type <code>oak:QueryIndexDefinition</code>
+ * <li>must have the <code>type</code> property set to <b><code>property</code></b>
+ * <li>contains the <code>propertyNames</code> property that indicates what property will be stored in the index
  * </ul>
  * <p>
  * Optionally you can specify
  * <ul> 
- * <li> a uniqueness constraint on a property index by setting the <code>unique</code> flag to <code>true</code></li>
- * <li> that the property index only applies to a certain node type by setting the <code>declaringNodeTypes</code> property</li>
+ * <li> a uniqueness constraint on a property index by setting the <code>unique</code> flag to <code>true</code>
+ * <li> that the property index only applies to a certain node type by setting the <code>declaringNodeTypes</code> property
  * </ul>
  * <p>
  * Notes:
  * <ul>
- * <li> <code>propertyNames</code> can be a list of properties, and it is optional.in case it is missing, the node name will be used as a property name reference value</li>
- * <li> <code>reindex</code> is a property that when set to <code>true</code>, triggers a full content reindex.</li>
+ * <li> <code>propertyNames</code> can be a list of properties, and it is optional.in case it is missing, the node name will be used as a property name reference value
+ * <li> <code>reindex</code> is a property that when set to <code>true</code>, triggers a full content reindex.
  * </ul>
  * 
  * <pre>
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/FilteringNodeState.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/FilteringNodeState.java
index 532a9566f7..0b819635b3 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/FilteringNodeState.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/FilteringNodeState.java
@@ -44,9 +44,9 @@ import java.util.Set;
  * The implementation delegates to the decorated node-state instance and
  * filters out hidden node-states in the following methods:
  * <ul>
- *     <li>{@link #exists()}</li>
- *     <li>{@link #hasChildNode(String)}</li>
- *     <li>{@link #getChildNodeEntries()}</li>
+ *     <li>{@link #exists()}
+ *     <li>{@link #hasChildNode(String)}
+ *     <li>{@link #getChildNodeEntries()}
  * </ul>
  * When <b>referenceableFrozenNodes</b> is set to {@code false}, then the
  * implementation will hide the {@code jcr:uuid} property on
@@ -55,8 +55,8 @@ import java.util.Set;
  * Additionally, hidden node-state names are removed from the property
  * {@code :childOrder} in the following two methods:
  * <ul>
- *     <li>{@link #getProperties()}</li>
- *     <li>{@link #getProperty(String)}</li>
+ *     <li>{@link #getProperties()}
+ *     <li>{@link #getProperty(String)}
  * </ul>
  */
 public class FilteringNodeState extends AbstractDecoratedNodeState {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionableEditor.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionableEditor.java
index 80bd35ce3f..eb4526c415 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionableEditor.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionableEditor.java
@@ -47,7 +47,7 @@ import static org.apache.jackrabbit.oak.plugins.migration.version.VersionHistory
  * The VersionableEditor provides two possible ways to handle
  * versionable nodes:
  * <ul>
- *     <li>it can copy the version histories of versionable nodes, or</li>
+ *     <li>it can copy the version histories of versionable nodes, or
  *     <li>
  *         it can skip copying version histories and remove the
  *         {@code mix:versionable} mixin together with any related
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeRegistration.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeRegistration.java
index 4dac742c0d..8c12be7acb 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeRegistration.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeRegistration.java
@@ -82,11 +82,11 @@ import org.apache.jackrabbit.oak.spi.state.NodeState;
  * defined in {@code rep:NodeType}.
  *
  * <ul>
- *   <li>validate new definitions,</li>
- *   <li>detect collisions,</li>
- *   <li>prevent circular inheritance,</li>
- *   <li>reject modifications to definitions that render existing content invalid,</li>
- *   <li>etc.</li>
+ *   <li>validate new definitions,
+ *   <li>detect collisions,
+ *   <li>prevent circular inheritance,
+ *   <li>reject modifications to definitions that render existing content invalid,
+ *   <li>etc.
  * </ul>
  */
 class TypeRegistration extends DefaultNodeStateDiff {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/ReadWriteNodeTypeManager.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/ReadWriteNodeTypeManager.java
index 54617b1afa..881cc6566a 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/ReadWriteNodeTypeManager.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/ReadWriteNodeTypeManager.java
@@ -44,11 +44,11 @@ import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.NODE_TYPE
  * {@code ReadWriteNodeTypeManager} extends the {@link ReadOnlyNodeTypeManager}
  * with support for operations that modify node types.
  * <ul>
- * <li>{@link #registerNodeType(NodeTypeDefinition, boolean)}</li>
- * <li>{@link #registerNodeTypes(NodeTypeDefinition[], boolean)}</li>
- * <li>{@link #unregisterNodeType(String)}</li>
- * <li>{@link #unregisterNodeTypes(String[])}</li>
- * <li>plus related template factory methods</li>
+ * <li>{@link #registerNodeType(NodeTypeDefinition, boolean)}
+ * <li>{@link #registerNodeTypes(NodeTypeDefinition[], boolean)}
+ * <li>{@link #unregisterNodeType(String)}
+ * <li>{@link #unregisterNodeTypes(String[])}
+ * <li>plus related template factory methods
  * </ul>
  * Calling any of the above methods will result in a {@link #refresh()} callback
  * to e.g. inform an associated session that it should refresh to make the
@@ -61,8 +61,8 @@ import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.NODE_TYPE
  * also want to override the default implementation of
  * {@link ReadOnlyNodeTypeManager} for the following methods:
  * <ul>
- * <li>{@link #getValueFactory()}</li>
- * <li>{@link ReadOnlyNodeTypeManager#getNamePathMapper()}</li>
+ * <li>{@link #getValueFactory()}
+ * <li>{@link ReadOnlyNodeTypeManager#getNamePathMapper()}
  * </ul>
  */
 public abstract class ReadWriteNodeTypeManager extends ReadOnlyNodeTypeManager {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/impl/ImmutableTree.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/impl/ImmutableTree.java
index 8cd6270959..6e5a2cc056 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/impl/ImmutableTree.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/impl/ImmutableTree.java
@@ -58,11 +58,11 @@ import org.jetbrains.annotations.Nullable;
  *
  * <ul>
  *     <li>{@link DefaultParentProvider}: used with the default usage where the
- *     parent tree is passed to the constructor</li>
+ *     parent tree is passed to the constructor
  *     <li>{@link ParentProvider#ROOT_PROVIDER}: the default parent provider for
- *     the root tree. All children will get {@link DefaultParentProvider}</li>
+ *     the root tree. All children will get {@link DefaultParentProvider}
  *     <li>{@link ParentProvider#UNSUPPORTED}: throws {@code UnsupportedOperationException}
- *     upon hierarchy related methods like {@link #getParent()}, {@link #getPath()}</li>
+ *     upon hierarchy related methods like {@link #getParent()}, {@link #getPath()}
  * </ul>
  *
  * <h3>Filtering 'hidden' items</h3>
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImpl.java
index 416cc65714..a9ddb40a44 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImpl.java
@@ -49,7 +49,7 @@ import java.util.Map;
  * <li>
  *     {@link LoginContextProvider}: Returns the default implementation of
  *     {@code LoginContextProvider} that handles standard JAAS based logins and
- *     deals with pre-authenticated subjects.</li>
+ *     deals with pre-authenticated subjects.
  * </ul>
  *
  */
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/CallbackHandlerImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/CallbackHandlerImpl.java
index 5d80d7e60f..1fe49d0567 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/CallbackHandlerImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/CallbackHandlerImpl.java
@@ -38,10 +38,10 @@ import org.jetbrains.annotations.Nullable;
  * supports the following {@code Callback} implementations:
  * <p>
  * <ul>
- * <li>{@link CredentialsCallback}</li>
- * <li>{@link NameCallback}</li>
- * <li>{@link PasswordCallback}</li>
- * <li>{@link RepositoryCallback}</li>
+ * <li>{@link CredentialsCallback}
+ * <li>{@link NameCallback}
+ * <li>{@link PasswordCallback}
+ * <li>{@link RepositoryCallback}
  * </ul>
  */
 class CallbackHandlerImpl implements CallbackHandler {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java
index 840883b763..5d22201854 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java
@@ -62,12 +62,12 @@ import org.slf4j.LoggerFactory;
  *
  * <ol>
  *     <li>Try to retrieve {@link TokenCredentials} credentials (see also
- *     {@link AbstractLoginModule#getCredentials()})</li>
+ *     {@link AbstractLoginModule#getCredentials()})
  *     <li>Validates the credentials based on the functionality provided by
- *     {@link TokenAuthentication#authenticate(javax.jcr.Credentials)}</li>
+ *     {@link TokenAuthentication#authenticate(javax.jcr.Credentials)}
  *     <li>Upon success it retrieves {@code userId} from the {@link org.apache.jackrabbit.oak.spi.security.authentication.token.TokenInfo}
- *     and calculates the principals associated with that user,</li>
- *     <li>and finally puts the credentials on the shared state.</li>
+ *     and calculates the principals associated with that user,
+ *     <li>and finally puts the credentials on the shared state.
  * </ol>
  *
  * If no {@code TokenProvider} has been configured {@link #login()} or if
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/user/LoginModuleImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/user/LoginModuleImpl.java
index 0330092c84..19cd97ba81 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/user/LoginModuleImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/user/LoginModuleImpl.java
@@ -62,21 +62,21 @@ import java.util.stream.Stream;
  *
  * <ul>
  *     <li>{@code Credentials} as specified in {@link javax.jcr.Repository#login(javax.jcr.Credentials)}
- *     in which case they are retrieved from the {@code CallbackHandler}.</li>
+ *     in which case they are retrieved from the {@code CallbackHandler}.
  *     <li>A {@link #SHARED_KEY_CREDENTIALS} entry in the shared state. The
- *     expected value is a validated single {@code Credentials} object.</li>
+ *     expected value is a validated single {@code Credentials} object.
  *     <li>If neither of the above variants provides Credentials this module
  *     tries to obtain them from the subject. See also
- *     {@link javax.security.auth.Subject#getSubject(java.security.AccessControlContext)}</li>
+ *     {@link javax.security.auth.Subject#getSubject(java.security.AccessControlContext)}
  * </ul>
  *
  * This implementation of the {@code LoginModule} currently supports the following
  * types of JCR Credentials:
  *
  * <ul>
- *     <li>{@link SimpleCredentials}</li>
- *     <li>{@link GuestCredentials}</li>
- *     <li>{@link ImpersonationCredentials}</li>
+ *     <li>{@link SimpleCredentials}
+ *     <li>{@link GuestCredentials}
+ *     <li>{@link ImpersonationCredentials}
  * </ul>
  *
  * The {@link Credentials} obtained during the {@code #login()} are added to
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationInitializer.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationInitializer.java
index c1bde4d1d4..e432b9584a 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationInitializer.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationInitializer.java
@@ -38,9 +38,9 @@ import static org.apache.jackrabbit.JcrConstants.JCR_SYSTEM;
  * <ul>
  *     <li>creates a property index definitions for
  *     {@link #REP_PRINCIPAL_NAME rep:principalName} properties defined with ACE
- *     nodes</li>
+ *     nodes
  *     <li>asserts that the permission store is setup and has dedicated entry for
- *     this workspace.</li>
+ *     this workspace.
  * </ul>.
  */
 class AuthorizationInitializer implements WorkspaceInitializer, AccessControlConstants, PermissionConstants {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAuthorizationConfiguration.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAuthorizationConfiguration.java
index ba8eea7bda..c32f4f2953 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAuthorizationConfiguration.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAuthorizationConfiguration.java
@@ -47,10 +47,10 @@ import org.slf4j.LoggerFactory;
  * <h2>AccessControlManager</h2>
  * <ul>
  *     <li>This method will return an aggregation of {@code AccessControlManager}s in case
- *     multiple {@code AuthorizationConfiguration}s are present (see {@code CompositeAccessControlManager}).</li>
+ *     multiple {@code AuthorizationConfiguration}s are present (see {@code CompositeAccessControlManager}).
  *     <li>If the composite only contains a single entry the {@code AccessControlManager}
- *     of this implementation is return without extra wrapping.</li>
- *     <li>If the list of configurations is empty an {@code IllegalStateException} is thrown.</li>
+ *     of this implementation is return without extra wrapping.
+ *     <li>If the list of configurations is empty an {@code IllegalStateException} is thrown.
  * </ul>
  *
  * <h2>PermissionProvider</h2>
@@ -59,10 +59,10 @@ import org.slf4j.LoggerFactory;
  *     multiple {@code AuthorizationConfiguration}s exposing an {@link AggregatedPermissionProvider}
  *     are present (see {@link CompositePermissionProvider}. Note however, that
  *     providers not implementing the {@code AggregatedPermissionProvider} extension
- *     will be ignored.</li>
+ *     will be ignored.
  *     <li>If the composite only contains a single entry the {@code PermissionProvider}
- *     of this implementation is return without extra wrapping.</li>
- *     <li>If the list of configurations is empty an {@code IllegalStateException} is thrown.</li>
+ *     of this implementation is return without extra wrapping.
+ *     <li>If the list of configurations is empty an {@code IllegalStateException} is thrown.
  * </ul>
  *
  * <h2>RestrictionProvider</h2>
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/RestrictionProviderImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/RestrictionProviderImpl.java
index 9717f6f9ab..b17fd1d39d 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/RestrictionProviderImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/restriction/RestrictionProviderImpl.java
@@ -48,14 +48,14 @@ import org.slf4j.LoggerFactory;
  *
  * <ul>
  *     <li>{@link #REP_GLOB}: A simple paths matching pattern. See {@link GlobPattern}
- *     for details.</li>
+ *     for details.
  *     <li>{@link #REP_NT_NAMES}: A restriction that allows to limit the effect
  *     of a given access control entries to JCR nodes of any of the specified
  *     primary node type. In case of a JCR property the primary type of the
- *     parent node is taken into consideration when evaluating the permissions.</li>
+ *     parent node is taken into consideration when evaluating the permissions.
  *     <li>{@link #REP_PREFIXES}: A multivalued access control restriction
  *     which matches by name space prefix. The corresponding restriction type
- *     is {@link org.apache.jackrabbit.oak.api.Type#STRINGS}.</li>
+ *     is {@link org.apache.jackrabbit.oak.api.Type#STRINGS}.
  * </ul>
  */
 @Component(
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheConflictHandler.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheConflictHandler.java
index 85a6cea80c..296b6644a6 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheConflictHandler.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheConflictHandler.java
@@ -34,14 +34,14 @@ import org.slf4j.LoggerFactory;
  *<p>
  * The conflict handler deals with the following conflicts:
  * <ul>
- *     <li>{@code addExistingProperty}  : {@code Resolution.IGNORED}, We should not have add conflints, since the {@code rep:{@code rep:expiration}} node is created with the user</li>
- *     <li>{@code changeDeletedProperty}: {@code Resolution.IGNORED},</li>
- *     <li>{@code changeChangedProperty}: {@code Resolution.MERGED}, the properties with higher {@code rep:expiration} get merged</li>
- *     <li>{@code deleteChangedProperty}: {@code Resolution.IGNORED} .</li>
- *     <li>{@code deleteDeletedProperty}: {@code Resolution.IGNORED}.</li>
- *     <li>{@code changeDeletedNode}    : {@code Resolution.IGNORED}, .</li>
- *     <li>{@code deleteChangedNode}    : {@code Resolution.IGNORED}, </li>
- *     <li>{@code deleteDeletedNode}    : {@code Resolution.IGNORED}.</li>
+ *     <li>{@code addExistingProperty}  : {@code Resolution.IGNORED}, We should not have add conflints, since the {@code rep:{@code rep:expiration}} node is created with the user
+ *     <li>{@code changeDeletedProperty}: {@code Resolution.IGNORED},
+ *     <li>{@code changeChangedProperty}: {@code Resolution.MERGED}, the properties with higher {@code rep:expiration} get merged
+ *     <li>{@code deleteChangedProperty}: {@code Resolution.IGNORED} .
+ *     <li>{@code deleteDeletedProperty}: {@code Resolution.IGNORED}.
+ *     <li>{@code changeDeletedNode}    : {@code Resolution.IGNORED}, .
+ *     <li>{@code deleteChangedNode}    : {@code Resolution.IGNORED}, 
+ *     <li>{@code deleteDeletedNode}    : {@code Resolution.IGNORED}.
  * </ul>
  */
 
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/RepMembersConflictHandler.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/RepMembersConflictHandler.java
index 28ab7fbf6d..358f5bbe2f 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/RepMembersConflictHandler.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/RepMembersConflictHandler.java
@@ -42,14 +42,14 @@ import org.apache.jackrabbit.guava.common.collect.Sets;
  *<p>
  * The conflict handler deals with the following conflicts:
  * <ul>
- *     <li>{@code addExistingProperty}  : {@code Resolution.MERGED}.</li>
+ *     <li>{@code addExistingProperty}  : {@code Resolution.MERGED}.
  *     <li>{@code changeDeletedProperty}: {@code Resolution.THEIRS}, removing the members property takes precedence.
  *     <li>{@code changeChangedProperty}: {@code Resolution.MERGED}, merge of the 2 members sets into a single one
  *     <li>{@code deleteChangedProperty}: {@code Resolution.OURS} removing the members property takes precedence.
- *     <li>{@code deleteDeletedProperty}: {@code Resolution.MERGED}.</li>
- *     <li>{@code changeDeletedNode}    : {@code Resolution.THEIRS}, removal takes precedence.</li>
- *     <li>{@code deleteChangedNode}    : {@code Resolution.OURS}, removal takes precedence.</li>
- *     <li>{@code deleteDeletedNode}    : {@code Resolution.MERGED}.</li>
+ *     <li>{@code deleteDeletedProperty}: {@code Resolution.MERGED}.
+ *     <li>{@code changeDeletedNode}    : {@code Resolution.THEIRS}, removal takes precedence.
+ *     <li>{@code deleteChangedNode}    : {@code Resolution.OURS}, removal takes precedence.
+ *     <li>{@code deleteDeletedNode}    : {@code Resolution.MERGED}.
  * </ul>
  */
 class RepMembersConflictHandler implements ThreeWayConflictHandler {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserAuthentication.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserAuthentication.java
index 09b35cf0b0..321a1640d3 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserAuthentication.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserAuthentication.java
@@ -63,12 +63,12 @@ import org.slf4j.LoggerFactory;
  *
  * <ul>
  *     <li>{@link SimpleCredentials}: Authentication succeeds if userID and
- *     password match the information exposed by the {@link UserManager}.</li>
+ *     password match the information exposed by the {@link UserManager}.
  *     <li>{@link ImpersonationCredentials}: Authentication succeeds if the
  *     subject to be authenticated is allowed to impersonate the user identified
- *     by the userID.</li>
+ *     by the userID.
  *     <li>{@link GuestCredentials}: The authentication succeeds if an 'anonymous'
- *     user exists in the repository.</li>
+ *     user exists in the repository.
  * </ul>
  *
  * For any other credentials {@link #authenticate(javax.jcr.Credentials)}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserImporter.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserImporter.java
index 1b70f82491..4d5700c181 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserImporter.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserImporter.java
@@ -102,33 +102,33 @@ import static org.apache.jackrabbit.oak.api.Type.STRINGS;
  * <li>The jcr:uuid property of user and groups is defined to represent the
  * hashed authorizable id as calculated by the UserManager. This importer
  * is therefore not able to handle imports with
- * {@link ImportUUIDBehavior#IMPORT_UUID_CREATE_NEW}.</li>
+ * {@link ImportUUIDBehavior#IMPORT_UUID_CREATE_NEW}.
  * <li>Importing user/group nodes outside of the hierarchy defined by the two
  * configuration options
  * {@link org.apache.jackrabbit.oak.spi.security.user.UserConstants#PARAM_GROUP_PATH}
  * and {@link org.apache.jackrabbit.oak.spi.security.user.UserConstants#PARAM_USER_PATH}
  * will fail upon {@code Root#commit()}. The same may
  * be true in case of {@link ImportUUIDBehavior#IMPORT_UUID_COLLISION_REPLACE_EXISTING}
- * inserting the user/group node at some other place in the node hierarchy.</li>
+ * inserting the user/group node at some other place in the node hierarchy.
  * <li>The same commit hook will make sure that authorizables are never nested
  * and are created below a hierarchy of nt:AuthorizableFolder nodes. This isn't
  * enforced by means of node type constraints but only by the API. This importer
- * itself currently doesn't perform such a validation check.</li>
+ * itself currently doesn't perform such a validation check.
  * <li>Any attempt to import conflicting data will cause the import to fail
  * either immediately or upon calling {@link javax.jcr.Session#save()} with the
  * following exceptions:
  * <ul>
- * <li>{@code rep:members} : Group membership</li>
- * <li>{@code rep:impersonators} : Impersonators of a User.</li>
+ * <li>{@code rep:members} : Group membership
+ * <li>{@code rep:impersonators} : Impersonators of a User.
  * </ul>
  * The import behavior of these two properties is defined by the {@link #PARAM_IMPORT_BEHAVIOR}
  * configuration parameter, which can be set to
  * <ul>
- * <li>{@link ImportBehavior#NAME_IGNORE ignore}: A warning is logged.</li>
+ * <li>{@link ImportBehavior#NAME_IGNORE ignore}: A warning is logged.
  * <li>{@link ImportBehavior#NAME_BESTEFFORT best effort}: A warning is logged
- * and the importer tries to fix the problem.</li>
+ * and the importer tries to fix the problem.
  * <li>{@link ImportBehavior#NAME_ABORT abort}: The import is immediately
- * aborted with a ConstraintViolationException. (<strong>default</strong>)</li>
+ * aborted with a ConstraintViolationException. (<strong>default</strong>)
  * </ul>
  * </ul>
  */
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitializer.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitializer.java
index 99e0f0fd92..c57a1fcf21 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitializer.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitializer.java
@@ -61,19 +61,19 @@ import static org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.squeeze
  * <p>
  * <ul>
  * <li>An administrator user using {@link UserConstants#PARAM_ADMIN_ID}
- * or {@link UserConstants#DEFAULT_ADMIN_ID} if the config option is missing.</li>
+ * or {@link UserConstants#DEFAULT_ADMIN_ID} if the config option is missing.
  * <li>An administrator user using {@link UserConstants#PARAM_ANONYMOUS_ID}
  * or {@link UserConstants#DEFAULT_ANONYMOUS_ID} if the config option is
- * missing.</li>
+ * missing.
  * </ul>
  * <p>
  * In addition this initializer sets up index definitions for the following
  * user related properties:
  * <p>
  * <ul>
- * <li>{@link UserConstants#REP_AUTHORIZABLE_ID}</li>
- * <li>{@link UserConstants#REP_PRINCIPAL_NAME}</li>
- * <li>{@link UserConstants#REP_MEMBERS}</li>
+ * <li>{@link UserConstants#REP_AUTHORIZABLE_ID}
+ * <li>{@link UserConstants#REP_PRINCIPAL_NAME}
+ * <li>{@link UserConstants#REP_MEMBERS}
  * </ul>
  */
 class UserInitializer implements WorkspaceInitializer, UserConstants, QueryIndexProviderAware {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserProvider.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserProvider.java
index f6fbbc9fdd..0b07ae9018 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserProvider.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserProvider.java
@@ -62,10 +62,10 @@ import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.NODE_TYPE
  * <ul>
  * <li>Users are created below /rep:security/rep:authorizables/rep:users or
  * the path configured in the {@link org.apache.jackrabbit.oak.spi.security.user.UserConstants#PARAM_USER_PATH}
- * respectively.</li>
+ * respectively.
  * <li>Groups are created below /rep:security/rep:authorizables/rep:groups or
  * the path configured in the {@link org.apache.jackrabbit.oak.spi.security.user.UserConstants#PARAM_GROUP_PATH}
- * respectively.</li>
+ * respectively.
  * <li>Below each category authorizables are created within a human readable
  * structure based on the defined intermediate path or some internal logic
  * with a depth defined by the {@code defaultDepth} config option.<br>
@@ -83,9 +83,9 @@ import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.NODE_TYPE
  * to the logic provided by the configured {@link AuthorizableNodeName}
  * implementation. If no name generator is present in the configuration
  * the {@link AuthorizableNodeName#DEFAULT default} implementation is used. The
- * name of the configuration option is {@link UserConstants#PARAM_AUTHORIZABLE_NODE_NAME}</li>
+ * name of the configuration option is {@link UserConstants#PARAM_AUTHORIZABLE_NODE_NAME}
  * <li>If no intermediate path is passed the names of the intermediate
- * folders are calculated from the leading chars of the escaped node name.</li>
+ * folders are calculated from the leading chars of the escaped node name.
  * <li>If the escaped node name is shorter than the {@code defaultDepth}
  * the last char is repeated.<br>
  * E.g. creating a user node for an ID 'a' would result in the following
@@ -97,36 +97,36 @@ import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.NODE_TYPE
  *       + a                 [rep:AuthorizableFolder]
  *         + aa              [rep:AuthorizableFolder]
  * ->        + a             [rep:User]
- * </pre></li>
+ * </pre>
  *
  * <h3>Conflicts</h3>
  *
  * <ul>
  * <li>If the authorizable node to be created would collide with an existing
- * folder the conflict is resolved by using the colling folder as target.</li>
+ * folder the conflict is resolved by using the colling folder as target.
  * <li>The current implementation asserts that authorizable nodes are always
  * created underneath an node of type {@code rep:AuthorizableFolder}. If this
- * condition is violated a {@code ConstraintViolationException} is thrown.</li>
+ * condition is violated a {@code ConstraintViolationException} is thrown.
  * <li>If the specified intermediate path results in an authorizable node
  * being located outside of the configured content structure a
- * {@code ConstraintViolationException} is thrown.</li>
+ * {@code ConstraintViolationException} is thrown.
  * </ul>
  *
  * <h3>Configuration Options</h3>
  * <ul>
  * <li>{@link UserConstants#PARAM_USER_PATH}: Underneath this structure
  * all user nodes are created. Default value is
- * "/rep:security/rep:authorizables/rep:users"</li>
+ * "/rep:security/rep:authorizables/rep:users"
  * <li>{@link UserConstants#PARAM_GROUP_PATH}: Underneath this structure
  * all group nodes are created. Default value is
- * "/rep:security/rep:authorizables/rep:groups"</li>
+ * "/rep:security/rep:authorizables/rep:groups"
  * <li>{@link UserConstants#PARAM_DEFAULT_DEPTH}: A positive {@code integer}
  * greater than zero defining the depth of the default structure that is
- * always created. Default value: 2</li>
+ * always created. Default value: 2
  * <li>{@link UserConstants#PARAM_AUTHORIZABLE_NODE_NAME}: An implementation
  * of {@link AuthorizableNodeName} used to create a node name for a given
  * authorizableId. By {@link AuthorizableNodeName.Default default} the
- * ID itself is used as node name. (since OAK 1.0)</li>
+ * ID itself is used as node name. (since OAK 1.0)
  * </ul>
  *
  * <h3>Compatibility with Jackrabbit 2.x</h3>
@@ -134,8 +134,8 @@ import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.NODE_TYPE
  * Due to the fact that this JCR implementation is expected to deal with huge amount
  * of child nodes the following configuration options are no longer supported:
  * <ul>
- * <li>autoExpandTree</li>
- * <li>autoExpandSize</li>
+ * <li>autoExpandTree
+ * <li>autoExpandSize
  * </ul>
  *
  * <h2>User and Group Access</h2>
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/MembershipTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/MembershipTest.java
index 100a6963c7..715cd287b2 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/MembershipTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/MembershipTest.java
@@ -40,10 +40,10 @@ import static org.mockito.Mockito.verifyNoMoreInteractions;
  * Tests large group and user graphs.
  *
  * <ul>
- * <li>{@link #NUM_USERS} users</li>
- * <li>{@link #NUM_GROUPS} groups</li>
- * <li>1 group with all users</li>
- * <li>1 user with all groups</li>
+ * <li>{@link #NUM_USERS} users
+ * <li>{@link #NUM_GROUPS} groups
+ * <li>1 group with all users
+ * <li>1 user with all groups
   * </ul>
  *
  * @since OAK 1.0
diff --git a/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java b/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java
index d7be75517d..2c1e5b90ca 100644
--- a/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java
+++ b/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java
@@ -142,15 +142,15 @@ import static org.apache.jackrabbit.oak.spi.security.RegistrationConstants.OAK_S
  * The following steps are required to install this authorization model in an OSGi based Oak setup.
  *
  * <ul>
- *     <li>Upload the oak-exercise bundle</li>
- *     <li>Edit configuration of 'ReadOnlyAuthorizationConfiguration' specifying the mandatory ranking property</li>
+ *     <li>Upload the oak-exercise bundle
+ *     <li>Edit configuration of 'ReadOnlyAuthorizationConfiguration' specifying the mandatory ranking property
  *     <li>Edit configuration of {@link org.apache.jackrabbit.oak.security.internal.SecurityProviderRegistration}
  *     <ul>
  *         <li>add {@code org.apache.jackrabbit.oak.exercise.security.authorization.models.readonly.ReadOnlyAuthorizationConfiguration}
- *             to the list of required service IDs</li>
- *         <li>make sure the 'Authorization Composition Type' is set to AND</li>
+ *             to the list of required service IDs
+ *         <li>make sure the 'Authorization Composition Type' is set to AND
  *     </ul>
- *     <li>Wait for the {@link org.apache.jackrabbit.oak.spi.security.SecurityProvider} to be successfully registered again.</li>
+ *     <li>Wait for the {@link org.apache.jackrabbit.oak.spi.security.SecurityProvider} to be successfully registered again.
  * </ul>
  *
  */
diff --git a/oak-jackrabbit-api/src/main/java/org/apache/jackrabbit/api/binary/BinaryUpload.java b/oak-jackrabbit-api/src/main/java/org/apache/jackrabbit/api/binary/BinaryUpload.java
index 9ed50fa90b..05b7b9c737 100644
--- a/oak-jackrabbit-api/src/main/java/org/apache/jackrabbit/api/binary/BinaryUpload.java
+++ b/oak-jackrabbit-api/src/main/java/org/apache/jackrabbit/api/binary/BinaryUpload.java
@@ -64,14 +64,14 @@ import org.osgi.annotation.versioning.ProviderType;
  * <h3>Variables used</h3>
  * <ul>
  *     <li>{@code fileSize}: the actual binary size (must be known at this
- *     point)</li>
- *     <li>{@code minPartSize}: the value from {@link #getMinPartSize()}</li>
- *     <li>{@code maxPartSize}: the value from {@link #getMaxPartSize()}</li>
+ *     point)
+ *     <li>{@code minPartSize}: the value from {@link #getMinPartSize()}
+ *     <li>{@code maxPartSize}: the value from {@link #getMaxPartSize()}
  *     <li>{@code numUploadURIs}: the number of entries in {@link
- *     #getUploadURIs()}</li>
- *     <li>{@code uploadURIs}: the entries in {@link #getUploadURIs()}</li>
+ *     #getUploadURIs()}
+ *     <li>{@code uploadURIs}: the entries in {@link #getUploadURIs()}
  *     <li>{@code partSize}: the part size to be used in the upload (to be
- *     determined in the algorithm)</li>
+ *     determined in the algorithm)
  * </ul>
  *
  * <h3>Steps</h3>
@@ -118,10 +118,10 @@ import org.osgi.annotation.versioning.ProviderType;
  *         different value may be chosen, under the condition that all
  *         of the following are true:
  *         <ol>
- *             <li>{@code partSize >= minPartSize}</li>
+ *             <li>{@code partSize >= minPartSize}
  *             <li>{@code partSize <= maxPartSize}
- *             (unless {@code maxPartSize = -1} meaning unlimited)</li>
- *             <li>{@code partSize > (fileSize / numUploadURIs)}</li>
+ *             (unless {@code maxPartSize = -1} meaning unlimited)
+ *             <li>{@code partSize > (fileSize / numUploadURIs)}
  *         </ol>
  *     <li>
  *         Upload: segment the binary into {@code partSize}, for each segment
diff --git a/oak-jackrabbit-api/src/main/java/org/apache/jackrabbit/api/security/user/Authorizable.java b/oak-jackrabbit-api/src/main/java/org/apache/jackrabbit/api/security/user/Authorizable.java
index 224deeacdd..d9213ed59d 100644
--- a/oak-jackrabbit-api/src/main/java/org/apache/jackrabbit/api/security/user/Authorizable.java
+++ b/oak-jackrabbit-api/src/main/java/org/apache/jackrabbit/api/security/user/Authorizable.java
@@ -51,9 +51,9 @@ import org.osgi.annotation.versioning.ProviderType;
  * The interfaces derived from Authorizable are defined as follows:
  * <ul>
  * <li>{@link User}: defined to be an Authorizable that can be authenticated
- * (by using Credentials) and impersonated.</li>
+ * (by using Credentials) and impersonated.
  * <li>{@link Group}: defined to be a collection of other
- * <code>Authorizable</code>s.</li>
+ * <code>Authorizable</code>s.
  * </ul>
  *
  * @see User
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/package-info.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/package-info.java
index 1f10177df6..eccaea43b7 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/package-info.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/package-info.java
@@ -29,18 +29,18 @@
  *
  * <b>Responsibilities of JCR API implementation classes:</b>
  * <ul>
- * <li>Prevent access to internals.</li>
- * <li>Name/path mapping for both method arguments and return values.</li>
- * <li>Tracking and instantiation of other JCR implementation objects.</li>
- * <li>Conversion from JCR Values to PropertyState instances and vice versa.</li>
- * <li>No direct access to the Oak API</li>
+ * <li>Prevent access to internals.
+ * <li>Name/path mapping for both method arguments and return values.
+ * <li>Tracking and instantiation of other JCR implementation objects.
+ * <li>Conversion from JCR Values to PropertyState instances and vice versa.
+ * <li>No direct access to the Oak API
  * </ul>
  *
  * <b>Responsibilities of the delegate classes:</b>
  * <ul>
- * <li>Business logic associated with complex JCR operations.</li>
- * <li>Provide means for state invariant checking.</li>
- * <li>Must no refer to neither the JCR API nor its implementation classes.</li>
+ * <li>Business logic associated with complex JCR operations.
+ * <li>Provide means for state invariant checking.
+ * <li>Must no refer to neither the JCR API nor its implementation classes.
  * </ul>
  */
 package org.apache.jackrabbit.oak.jcr.delegate;
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java
index f658ccdc40..cd80307721 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java
@@ -126,16 +126,16 @@ import static org.apache.lucene.search.BooleanClause.Occur.SHOULD;
  *
  * Under it follows the index definition node that:
  * <ul>
- * <li>must be of type <code>oak:QueryIndexDefinition</code></li>
- * <li>must have the <code>type</code> property set to <b><code>lucene</code></b></li>
- * <li>must have the <code>async</code> property set to <b><code>async</code></b></li>
+ * <li>must be of type <code>oak:QueryIndexDefinition</code>
+ * <li>must have the <code>type</code> property set to <b><code>lucene</code></b>
+ * <li>must have the <code>async</code> property set to <b><code>async</code></b>
  * </ul>
  * <p>
  * Optionally you can add
  * <ul>
- * <li>what subset of property types to be included in the index via the <code>includePropertyTypes</code> property</li>
- * <li>a blacklist of property names: what property to be excluded from the index via the <code>excludePropertyNames</code> property</li>
- * <li>the <code>reindex</code> flag which when set to <code>true</code>, triggers a full content re-index.</li>
+ * <li>what subset of property types to be included in the index via the <code>includePropertyTypes</code> property
+ * <li>a blacklist of property names: what property to be excluded from the index via the <code>excludePropertyNames</code> property
+ * <li>the <code>reindex</code> flag which when set to <code>true</code>, triggers a full content re-index.
  * </ul>
  * <pre>{@code
  * {
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
index e0be25b24a..a27890a6b1 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
@@ -169,16 +169,16 @@ import static org.apache.lucene.search.BooleanClause.Occur.MUST_NOT;
  *
  * Under it follows the index definition node that:
  * <ul>
- * <li>must be of type <code>oak:QueryIndexDefinition</code></li>
- * <li>must have the <code>type</code> property set to <b><code>lucene</code></b></li>
- * <li>must have the <code>async</code> property set to <b><code>async</code></b></li>
+ * <li>must be of type <code>oak:QueryIndexDefinition</code>
+ * <li>must have the <code>type</code> property set to <b><code>lucene</code></b>
+ * <li>must have the <code>async</code> property set to <b><code>async</code></b>
  * </ul>
  * <p>
  * Optionally you can add
  * <ul>
- * <li>what subset of property types to be included in the index via the <code>includePropertyTypes</code> property</li>
- * <li>a blacklist of property names: what property to be excluded from the index via the <code>excludePropertyNames</code> property</li>
- * <li>the <code>reindex</code> flag which when set to <code>true</code>, triggers a full content re-index.</li>
+ * <li>what subset of property types to be included in the index via the <code>includePropertyTypes</code> property
+ * <li>a blacklist of property names: what property to be excluded from the index via the <code>excludePropertyNames</code> property
+ * <li>the <code>reindex</code> flag which when set to <code>true</code>, triggers a full content re-index.
  * </ul>
  * <pre>{@code
  * {
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/BlockTreeTermsWriter.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/BlockTreeTermsWriter.java
index 9214d21252..97b8af52c4 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/BlockTreeTermsWriter.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/BlockTreeTermsWriter.java
@@ -89,8 +89,8 @@ import org.apache.lucene.util.packed.PackedInts;
  * <p>
  * Files:
  * <ul>
- *   <li><tt>.tim</tt>: <a href="#Termdictionary">Term Dictionary</a></li>
- *   <li><tt>.tip</tt>: <a href="#Termindex">Term Index</a></li>
+ *   <li><tt>.tim</tt>: <a href="#Termdictionary">Term Dictionary</a>
+ *   <li><tt>.tip</tt>: <a href="#Termindex">Term Index</a>
  * </ul>
  * <p>
  * <a name="Termdictionary" id="Termdictionary"></a>
@@ -112,39 +112,39 @@ import org.apache.lucene.util.packed.PackedInts;
  *
  * <ul>
  *    <li>TermsDict (.tim) --&gt; Header, <i>PostingsHeader</i>, NodeBlock<sup>NumBlocks</sup>,
- *                               FieldSummary, DirOffset</li>
- *    <li>NodeBlock --&gt; (OuterNode | InnerNode)</li>
- *    <li>OuterNode --&gt; EntryCount, SuffixLength, Byte<sup>SuffixLength</sup>, StatsLength, &lt; TermStats &gt;<sup>EntryCount</sup>, MetaLength, &lt;<i>TermMetadata</i>&gt;<sup>EntryCount</sup></li>
- *    <li>InnerNode --&gt; EntryCount, SuffixLength[,Sub?], Byte<sup>SuffixLength</sup>, StatsLength, &lt; TermStats ? &gt;<sup>EntryCount</sup>, MetaLength, &lt;<i>TermMetadata ? </i>&gt;<sup>EntryCount</sup></li>
- *    <li>TermStats --&gt; DocFreq, TotalTermFreq </li>
+ *                               FieldSummary, DirOffset
+ *    <li>NodeBlock --&gt; (OuterNode | InnerNode)
+ *    <li>OuterNode --&gt; EntryCount, SuffixLength, Byte<sup>SuffixLength</sup>, StatsLength, &lt; TermStats &gt;<sup>EntryCount</sup>, MetaLength, &lt;<i>TermMetadata</i>&gt;<sup>EntryCount</sup>
+ *    <li>InnerNode --&gt; EntryCount, SuffixLength[,Sub?], Byte<sup>SuffixLength</sup>, StatsLength, &lt; TermStats ? &gt;<sup>EntryCount</sup>, MetaLength, &lt;<i>TermMetadata ? </i>&gt;<sup>EntryCount</sup>
+ *    <li>TermStats --&gt; DocFreq, TotalTermFreq 
  *    <li>FieldSummary --&gt; NumFields, &lt;FieldNumber, NumTerms, RootCodeLength, Byte<sup>RootCodeLength</sup>,
- *                            SumTotalTermFreq?, SumDocFreq, DocCount&gt;<sup>NumFields</sup></li>
- *    <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- *    <li>DirOffset --&gt; {@link DataOutput#writeLong Uint64}</li>
+ *                            SumTotalTermFreq?, SumDocFreq, DocCount&gt;<sup>NumFields</sup>
+ *    <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ *    <li>DirOffset --&gt; {@link DataOutput#writeLong Uint64}
  *    <li>EntryCount,SuffixLength,StatsLength,DocFreq,MetaLength,NumFields,
- *        FieldNumber,RootCodeLength,DocCount --&gt; {@link DataOutput#writeVInt VInt}</li>
+ *        FieldNumber,RootCodeLength,DocCount --&gt; {@link DataOutput#writeVInt VInt}
  *    <li>TotalTermFreq,NumTerms,SumTotalTermFreq,SumDocFreq --&gt; 
- *        {@link DataOutput#writeVLong VLong}</li>
+ *        {@link DataOutput#writeVLong VLong}
  * </ul>
  * <p>Notes:</p>
  * <ul>
  *    <li>Header is a {@link CodecUtil#writeHeader CodecHeader} storing the version information
- *        for the BlockTree implementation.</li>
- *    <li>DirOffset is a pointer to the FieldSummary section.</li>
- *    <li>DocFreq is the count of documents which contain the term.</li>
+ *        for the BlockTree implementation.
+ *    <li>DirOffset is a pointer to the FieldSummary section.
+ *    <li>DocFreq is the count of documents which contain the term.
  *    <li>TotalTermFreq is the total number of occurrences of the term. This is encoded
- *        as the difference between the total number of occurrences and the DocFreq.</li>
- *    <li>FieldNumber is the fields number from {@link FieldInfos}. (.fnm)</li>
- *    <li>NumTerms is the number of unique terms for the field.</li>
- *    <li>RootCode points to the root block for the field.</li>
+ *        as the difference between the total number of occurrences and the DocFreq.
+ *    <li>FieldNumber is the fields number from {@link FieldInfos}. (.fnm)
+ *    <li>NumTerms is the number of unique terms for the field.
+ *    <li>RootCode points to the root block for the field.
  *    <li>SumDocFreq is the total number of postings, the number of term-document pairs across
- *        the entire field.</li>
- *    <li>DocCount is the number of documents that have at least one posting for this field.</li>
+ *        the entire field.
+ *    <li>DocCount is the number of documents that have at least one posting for this field.
  *    <li>PostingsHeader and TermMetadata are plugged into by the specific postings implementation:
  *        these contain arbitrary per-file data (such as parameters or versioning information) 
- *        and per-term data (such as pointers to inverted files).</li>
+ *        and per-term data (such as pointers to inverted files).
  *    <li>For inner nodes of the tree, every entry will steal one bit to mark whether it points
- *        to child nodes(sub-block). If so, the corresponding TermStats and TermMetaData are omitted </li>
+ *        to child nodes(sub-block). If so, the corresponding TermStats and TermMetaData are omitted 
  * </ul>
  * <a name="Termindex" id="Termindex"></a>
  * <h3>Term Index</h3>
@@ -153,12 +153,12 @@ import org.apache.lucene.util.packed.PackedInts;
  * when a given term cannot exist on disk (in the .tim file), saving a disk seek.</p>
  * <ul>
  *   <li>TermsIndex (.tip) --&gt; Header, FSTIndex<sup>NumFields</sup>
- *                                &lt;IndexStartFP&gt;<sup>NumFields</sup>, DirOffset</li>
- *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- *   <li>DirOffset --&gt; {@link DataOutput#writeLong Uint64}</li>
- *   <li>IndexStartFP --&gt; {@link DataOutput#writeVLong VLong}</li>
+ *                                &lt;IndexStartFP&gt;<sup>NumFields</sup>, DirOffset
+ *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ *   <li>DirOffset --&gt; {@link DataOutput#writeLong Uint64}
+ *   <li>IndexStartFP --&gt; {@link DataOutput#writeVLong VLong}
  *   <!-- TODO: better describe FST output here -->
- *   <li>FSTIndex --&gt; {@link FST FST&lt;byte[]&gt;}</li>
+ *   <li>FSTIndex --&gt; {@link FST FST&lt;byte[]&gt;}
  * </ul>
  * <p>Notes:</p>
  * <ul>
@@ -166,9 +166,9 @@ import org.apache.lucene.util.packed.PackedInts;
  *       field.  The FST maps a term prefix to the on-disk
  *       block that holds all terms starting with that
  *       prefix.  Each field's IndexStartFP points to its
- *       FST.</li>
+ *       FST.
  *   <li>DirOffset is a pointer to the start of the IndexStartFPs
- *       for all fields</li>
+ *       for all fields
  *   <li>It's possible that an on-disk block would contain
  *       too many terms (more than the allowed maximum
  *       (default: 48)).  When this happens, the block is
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexWriter.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexWriter.java
index f071dcdac7..c1d91376ad 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexWriter.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexWriter.java
@@ -41,36 +41,36 @@ import org.apache.lucene.util.packed.PackedInts;
  * <p>In order to have a compact in-memory representation, for every block of
  * 1024 chunks, this index computes the average number of bytes per
  * chunk and for every chunk, only stores the difference between<ul>
- * <li>${chunk number} * ${average length of a chunk}</li>
+ * <li>${chunk number} * ${average length of a chunk}
  * <li>and the actual start offset of the chunk</li></ul></p>
  * <p>Data is written as follows:</p>
  * <ul>
- * <li>PackedIntsVersion, &lt;Block&gt;<sup>BlockCount</sup>, BlocksEndMarker</li>
- * <li>PackedIntsVersion --&gt; {@link PackedInts#VERSION_CURRENT} as a {@link DataOutput#writeVInt VInt}</li>
- * <li>BlocksEndMarker --&gt; <tt>0</tt> as a {@link DataOutput#writeVInt VInt}, this marks the end of blocks since blocks are not allowed to start with <tt>0</tt></li>
- * <li>Block --&gt; BlockChunks, &lt;DocBases&gt;, &lt;StartPointers&gt;</li>
- * <li>BlockChunks --&gt; a {@link DataOutput#writeVInt VInt} which is the number of chunks encoded in the block</li>
- * <li>DocBases --&gt; DocBase, AvgChunkDocs, BitsPerDocBaseDelta, DocBaseDeltas</li>
- * <li>DocBase --&gt; first document ID of the block of chunks, as a {@link DataOutput#writeVInt VInt}</li>
- * <li>AvgChunkDocs --&gt; average number of documents in a single chunk, as a {@link DataOutput#writeVInt VInt}</li>
- * <li>BitsPerDocBaseDelta --&gt; number of bits required to represent a delta from the average using <a href="https://developers.google.com/protocol-buffers/docs/encoding#types">ZigZag encoding</a></li>
- * <li>DocBaseDeltas --&gt; {@link PackedInts packed} array of BlockChunks elements of BitsPerDocBaseDelta bits each, representing the deltas from the average doc base using <a href="https://developers.google.com/protocol-buffers/docs/encoding#types">ZigZag encoding</a>.</li>
- * <li>StartPointers --&gt; StartPointerBase, AvgChunkSize, BitsPerStartPointerDelta, StartPointerDeltas</li>
- * <li>StartPointerBase --&gt; the first start pointer of the block, as a {@link DataOutput#writeVLong VLong}</li>
- * <li>AvgChunkSize --&gt; the average size of a chunk of compressed documents, as a {@link DataOutput#writeVLong VLong}</li>
- * <li>BitsPerStartPointerDelta --&gt; number of bits required to represent a delta from the average using <a href="https://developers.google.com/protocol-buffers/docs/encoding#types">ZigZag encoding</a></li>
- * <li>StartPointerDeltas --&gt; {@link PackedInts packed} array of BlockChunks elements of BitsPerStartPointerDelta bits each, representing the deltas from the average start pointer using <a href="https://developers.google.com/protocol-buffers/docs/encoding#types">ZigZag encoding</a></li>
+ * <li>PackedIntsVersion, &lt;Block&gt;<sup>BlockCount</sup>, BlocksEndMarker
+ * <li>PackedIntsVersion --&gt; {@link PackedInts#VERSION_CURRENT} as a {@link DataOutput#writeVInt VInt}
+ * <li>BlocksEndMarker --&gt; <tt>0</tt> as a {@link DataOutput#writeVInt VInt}, this marks the end of blocks since blocks are not allowed to start with <tt>0</tt>
+ * <li>Block --&gt; BlockChunks, &lt;DocBases&gt;, &lt;StartPointers&gt;
+ * <li>BlockChunks --&gt; a {@link DataOutput#writeVInt VInt} which is the number of chunks encoded in the block
+ * <li>DocBases --&gt; DocBase, AvgChunkDocs, BitsPerDocBaseDelta, DocBaseDeltas
+ * <li>DocBase --&gt; first document ID of the block of chunks, as a {@link DataOutput#writeVInt VInt}
+ * <li>AvgChunkDocs --&gt; average number of documents in a single chunk, as a {@link DataOutput#writeVInt VInt}
+ * <li>BitsPerDocBaseDelta --&gt; number of bits required to represent a delta from the average using <a href="https://developers.google.com/protocol-buffers/docs/encoding#types">ZigZag encoding</a>
+ * <li>DocBaseDeltas --&gt; {@link PackedInts packed} array of BlockChunks elements of BitsPerDocBaseDelta bits each, representing the deltas from the average doc base using <a href="https://developers.google.com/protocol-buffers/docs/encoding#types">ZigZag encoding</a>.
+ * <li>StartPointers --&gt; StartPointerBase, AvgChunkSize, BitsPerStartPointerDelta, StartPointerDeltas
+ * <li>StartPointerBase --&gt; the first start pointer of the block, as a {@link DataOutput#writeVLong VLong}
+ * <li>AvgChunkSize --&gt; the average size of a chunk of compressed documents, as a {@link DataOutput#writeVLong VLong}
+ * <li>BitsPerStartPointerDelta --&gt; number of bits required to represent a delta from the average using <a href="https://developers.google.com/protocol-buffers/docs/encoding#types">ZigZag encoding</a>
+ * <li>StartPointerDeltas --&gt; {@link PackedInts packed} array of BlockChunks elements of BitsPerStartPointerDelta bits each, representing the deltas from the average start pointer using <a href="https://developers.google.com/protocol-buffers/docs/encoding#types">ZigZag encoding</a>
  * </ul>
  * <p>Notes</p>
  * <ul>
  * <li>For any block, the doc base of the n-th chunk can be restored with
- * <code>DocBase + AvgChunkDocs * n + DocBaseDeltas[n]</code>.</li>
+ * <code>DocBase + AvgChunkDocs * n + DocBaseDeltas[n]</code>.
  * <li>For any block, the start pointer of the n-th chunk can be restored with
- * <code>StartPointerBase + AvgChunkSize * n + StartPointerDeltas[n]</code>.</li>
+ * <code>StartPointerBase + AvgChunkSize * n + StartPointerDeltas[n]</code>.
  * <li>Once data is loaded into memory, you can lookup the start pointer of any
  * document by performing two binary searches: a first one based on the values
  * of DocBase in order to find the right block, and then inside the block based
- * on DocBaseDeltas (by reconstructing the doc bases for every chunk).</li>
+ * on DocBaseDeltas (by reconstructing the doc bases for every chunk).
  * </ul>
  * @lucene.internal
  */
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/BitVector.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/BitVector.java
index 6e83504a61..0806e79d11 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/BitVector.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/BitVector.java
@@ -41,10 +41,10 @@ import org.apache.lucene.util.MutableBits;
 /** Optimized implementation of a vector of bits.  This is more-or-less like
  *  java.util.BitSet, but also includes the following:
  *  <ul>
- *  <li>a count() method, which efficiently computes the number of one bits;</li>
- *  <li>optimized read from and write to disk;</li>
- *  <li>inlinable get() method;</li>
- *  <li>store and load, as bit set or d-gaps, depending on sparseness;</li> 
+ *  <li>a count() method, which efficiently computes the number of one bits;
+ *  <li>optimized read from and write to disk;
+ *  <li>inlinable get() method;
+ *  <li>store and load, as bit set or d-gaps, depending on sparseness;
  *  </ul>
  *
  *  @lucene.internal
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesFormat.java
index dcaf06f5b3..9a547a4dc3 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesFormat.java
@@ -43,13 +43,13 @@ import org.apache.lucene.util.packed.PackedInts;
  * <p>
  * Files:
  * <ul>
- *   <li><tt>.dv.cfs</tt>: {@link CompoundFileDirectory compound container}</li>
- *   <li><tt>.dv.cfe</tt>: {@link CompoundFileDirectory compound entries}</li>
+ *   <li><tt>.dv.cfs</tt>: {@link CompoundFileDirectory compound container}
+ *   <li><tt>.dv.cfe</tt>: {@link CompoundFileDirectory compound entries}
  * </ul>
  * Entries within the compound file:
  * <ul>
- *   <li><tt>&lt;segment&gt;_&lt;fieldNumber&gt;.dat</tt>: data values</li>
- *   <li><tt>&lt;segment&gt;_&lt;fieldNumber&gt;.idx</tt>: index into the .dat for DEREF types</li>
+ *   <li><tt>&lt;segment&gt;_&lt;fieldNumber&gt;.dat</tt>: data values
+ *   <li><tt>&lt;segment&gt;_&lt;fieldNumber&gt;.idx</tt>: index into the .dat for DEREF types
  * </ul>
  * <p>
  * There are several many types of {@code DocValues} with different encodings.
@@ -60,66 +60,66 @@ import org.apache.lucene.util.packed.PackedInts;
  * Formats:
  * <ul>
  *    <li>{@code VAR_INTS} .dat --&gt; Header, PackedType, MinValue, 
- *        DefaultValue, PackedStream</li>
+ *        DefaultValue, PackedStream
  *    <li>{@code FIXED_INTS_8} .dat --&gt; Header, ValueSize, 
- *        {@link DataOutput#writeByte Byte}<sup>maxdoc</sup></li>
+ *        {@link DataOutput#writeByte Byte}<sup>maxdoc</sup>
  *    <li>{@code FIXED_INTS_16} .dat --&gt; Header, ValueSize,
- *        {@link DataOutput#writeShort Short}<sup>maxdoc</sup></li>
+ *        {@link DataOutput#writeShort Short}<sup>maxdoc</sup>
  *    <li>{@code FIXED_INTS_32} .dat --&gt; Header, ValueSize,
- *        {@link DataOutput#writeInt Int32}<sup>maxdoc</sup></li>
+ *        {@link DataOutput#writeInt Int32}<sup>maxdoc</sup>
  *    <li>{@code FIXED_INTS_64} .dat --&gt; Header, ValueSize,
- *        {@link DataOutput#writeLong Int64}<sup>maxdoc</sup></li>
- *    <li>{@code FLOAT_32} .dat --&gt; Header, ValueSize, Float32<sup>maxdoc</sup></li>
- *    <li>{@code FLOAT_64} .dat --&gt; Header, ValueSize, Float64<sup>maxdoc</sup></li>
+ *        {@link DataOutput#writeLong Int64}<sup>maxdoc</sup>
+ *    <li>{@code FLOAT_32} .dat --&gt; Header, ValueSize, Float32<sup>maxdoc</sup>
+ *    <li>{@code FLOAT_64} .dat --&gt; Header, ValueSize, Float64<sup>maxdoc</sup>
  *    <li>{@code BYTES_FIXED_STRAIGHT} .dat --&gt; Header, ValueSize,
- *        ({@link DataOutput#writeByte Byte} * ValueSize)<sup>maxdoc</sup></li>
- *    <li>{@code BYTES_VAR_STRAIGHT} .idx --&gt; Header, TotalBytes, Addresses</li>
+ *        ({@link DataOutput#writeByte Byte} * ValueSize)<sup>maxdoc</sup>
+ *    <li>{@code BYTES_VAR_STRAIGHT} .idx --&gt; Header, TotalBytes, Addresses
  *    <li>{@code BYTES_VAR_STRAIGHT} .dat --&gt; Header,
           ({@link DataOutput#writeByte Byte} * <i>variable ValueSize</i>)<sup>maxdoc</sup></li>
- *    <li>{@code BYTES_FIXED_DEREF} .idx --&gt; Header, NumValues, Addresses</li>
+ *    <li>{@code BYTES_FIXED_DEREF} .idx --&gt; Header, NumValues, Addresses
  *    <li>{@code BYTES_FIXED_DEREF} .dat --&gt; Header, ValueSize,
- *        ({@link DataOutput#writeByte Byte} * ValueSize)<sup>NumValues</sup></li>
- *    <li>{@code BYTES_VAR_DEREF} .idx --&gt; Header, TotalVarBytes, Addresses</li>
+ *        ({@link DataOutput#writeByte Byte} * ValueSize)<sup>NumValues</sup>
+ *    <li>{@code BYTES_VAR_DEREF} .idx --&gt; Header, TotalVarBytes, Addresses
  *    <li>{@code BYTES_VAR_DEREF} .dat --&gt; Header,
- *        (LengthPrefix + {@link DataOutput#writeByte Byte} * <i>variable ValueSize</i>)<sup>NumValues</sup></li>
- *    <li>{@code BYTES_FIXED_SORTED} .idx --&gt; Header, NumValues, Ordinals</li>
+ *        (LengthPrefix + {@link DataOutput#writeByte Byte} * <i>variable ValueSize</i>)<sup>NumValues</sup>
+ *    <li>{@code BYTES_FIXED_SORTED} .idx --&gt; Header, NumValues, Ordinals
  *    <li>{@code BYTES_FIXED_SORTED} .dat --&gt; Header, ValueSize,
- *        ({@link DataOutput#writeByte Byte} * ValueSize)<sup>NumValues</sup></li>
- *    <li>{@code BYTES_VAR_SORTED} .idx --&gt; Header, TotalVarBytes, Addresses, Ordinals</li>
+ *        ({@link DataOutput#writeByte Byte} * ValueSize)<sup>NumValues</sup>
+ *    <li>{@code BYTES_VAR_SORTED} .idx --&gt; Header, TotalVarBytes, Addresses, Ordinals
  *    <li>{@code BYTES_VAR_SORTED} .dat --&gt; Header,
- *        ({@link DataOutput#writeByte Byte} * <i>variable ValueSize</i>)<sup>NumValues</sup></li>
+ *        ({@link DataOutput#writeByte Byte} * <i>variable ValueSize</i>)<sup>NumValues</sup>
  * </ul>
  * Data Types:
  * <ul>
- *    <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- *    <li>PackedType --&gt; {@link DataOutput#writeByte Byte}</li>
- *    <li>MaxAddress, MinValue, DefaultValue --&gt; {@link DataOutput#writeLong Int64}</li>
- *    <li>PackedStream, Addresses, Ordinals --&gt; {@link PackedInts}</li>
- *    <li>ValueSize, NumValues --&gt; {@link DataOutput#writeInt Int32}</li>
+ *    <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ *    <li>PackedType --&gt; {@link DataOutput#writeByte Byte}
+ *    <li>MaxAddress, MinValue, DefaultValue --&gt; {@link DataOutput#writeLong Int64}
+ *    <li>PackedStream, Addresses, Ordinals --&gt; {@link PackedInts}
+ *    <li>ValueSize, NumValues --&gt; {@link DataOutput#writeInt Int32}
  *    <li>Float32 --&gt; 32-bit float encoded with {@link Float#floatToRawIntBits(float)}
- *                       then written as {@link DataOutput#writeInt Int32}</li>
+ *                       then written as {@link DataOutput#writeInt Int32}
  *    <li>Float64 --&gt; 64-bit float encoded with {@link Double#doubleToRawLongBits(double)}
- *                       then written as {@link DataOutput#writeLong Int64}</li>
- *    <li>TotalBytes --&gt; {@link DataOutput#writeVLong VLong}</li>
- *    <li>TotalVarBytes --&gt; {@link DataOutput#writeLong Int64}</li>
+ *                       then written as {@link DataOutput#writeLong Int64}
+ *    <li>TotalBytes --&gt; {@link DataOutput#writeVLong VLong}
+ *    <li>TotalVarBytes --&gt; {@link DataOutput#writeLong Int64}
  *    <li>LengthPrefix --&gt; Length of the data value as {@link DataOutput#writeVInt VInt} (maximum
- *                       of 2 bytes)</li>
+ *                       of 2 bytes)
  * </ul>
  * Notes:
  * <ul>
- *    <li>PackedType is a 0 when compressed, 1 when the stream is written as 64-bit integers.</li>
+ *    <li>PackedType is a 0 when compressed, 1 when the stream is written as 64-bit integers.
  *    <li>Addresses stores pointers to the actual byte location (indexed by docid). In the VAR_STRAIGHT
  *        case, each entry can have a different length, so to determine the length, docid+1 is 
  *        retrieved. A sentinel address is written at the end for the VAR_STRAIGHT case, so the Addresses 
  *        stream contains maxdoc+1 indices. For the deduplicated VAR_DEREF case, each length
  *        is encoded as a prefix to the data itself as a {@link DataOutput#writeVInt VInt} 
- *        (maximum of 2 bytes).</li>
+ *        (maximum of 2 bytes).
  *    <li>Ordinals stores the term ID in sorted order (indexed by docid). In the FIXED_SORTED case,
  *        the address into the .dat can be computed from the ordinal as 
  *        <code>Header+ValueSize+(ordinal*ValueSize)</code> because the byte length is fixed.
  *        In the VAR_SORTED case, there is double indirection (docid -> ordinal -> address), but
  *        an additional sentinel ordinal+address is always written (so there are NumValues+1 ordinals). To
- *        determine the length, ord+1's address is looked up as well.</li>
+ *        determine the length, ord+1's address is looked up as well.
  *    <li>{@code BYTES_VAR_STRAIGHT BYTES_VAR_STRAIGHT} in contrast to other straight 
  *        variants uses a <tt>.idx</tt> file to improve lookup perfromance. In contrast to 
  *        {@code BYTES_VAR_DEREF BYTES_VAR_DEREF} it doesn't apply deduplication of the document values.
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosFormat.java
index bdb391f630..247d6d80d6 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosFormat.java
@@ -41,59 +41,59 @@ import org.apache.lucene.store.DataOutput; // javadoc
  * FieldBits,DocValuesBits,Attributes&gt; <sup>FieldsCount</sup></p>
  * <p>Data types:
  * <ul>
- *   <li>Header --&gt; {@link CodecUtil#checkHeader CodecHeader}</li>
- *   <li>FieldsCount --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>FieldName --&gt; {@link DataOutput#writeString String}</li>
- *   <li>FieldBits, DocValuesBits --&gt; {@link DataOutput#writeByte Byte}</li>
- *   <li>FieldNumber --&gt; {@link DataOutput#writeInt VInt}</li>
- *   <li>Attributes --&gt; {@link DataOutput#writeStringStringMap Map&lt;String,String&gt;}</li>
+ *   <li>Header --&gt; {@link CodecUtil#checkHeader CodecHeader}
+ *   <li>FieldsCount --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>FieldName --&gt; {@link DataOutput#writeString String}
+ *   <li>FieldBits, DocValuesBits --&gt; {@link DataOutput#writeByte Byte}
+ *   <li>FieldNumber --&gt; {@link DataOutput#writeInt VInt}
+ *   <li>Attributes --&gt; {@link DataOutput#writeStringStringMap Map&lt;String,String&gt;}
  * </ul>
  * Field Descriptions:
  * <ul>
- *   <li>FieldsCount: the number of fields in this file.</li>
- *   <li>FieldName: name of the field as a UTF-8 String.</li>
+ *   <li>FieldsCount: the number of fields in this file.
+ *   <li>FieldName: name of the field as a UTF-8 String.
  *   <li>FieldNumber: the field's number. Note that unlike previous versions of
  *       Lucene, the fields are not numbered implicitly by their order in the
- *       file, instead explicitly.</li>
+ *       file, instead explicitly.
  *   <li>FieldBits: a byte containing field options.
  *       <ul>
  *         <li>The low-order bit is one for indexed fields, and zero for non-indexed
- *             fields.</li>
+ *             fields.
  *         <li>The second lowest-order bit is one for fields that have term vectors
- *             stored, and zero for fields without term vectors.</li>
+ *             stored, and zero for fields without term vectors.
  *         <li>If the third lowest order-bit is set (0x4), offsets are stored into
- *             the postings list in addition to positions.</li>
- *         <li>Fourth bit is unused.</li>
+ *             the postings list in addition to positions.
+ *         <li>Fourth bit is unused.
  *         <li>If the fifth lowest-order bit is set (0x10), norms are omitted for the
- *             indexed field.</li>
+ *             indexed field.
  *         <li>If the sixth lowest-order bit is set (0x20), payloads are stored for the
- *             indexed field.</li>
+ *             indexed field.
  *         <li>If the seventh lowest-order bit is set (0x40), term frequencies and
- *             positions omitted for the indexed field.</li>
+ *             positions omitted for the indexed field.
  *         <li>If the eighth lowest-order bit is set (0x80), positions are omitted for the
- *             indexed field.</li>
+ *             indexed field.
  *       </ul>
  *    <li>DocValuesBits: a byte containing per-document value types. The type
  *        recorded as two four-bit integers, with the high-order bits representing
  *        <code>norms</code> options, and the low-order bits representing 
  *        {@code DocValues} options. Each four-bit integer can be decoded as such:
  *        <ul>
- *          <li>0: no DocValues for this field.</li>
- *          <li>1: variable-width signed integers. ({@code Type#VAR_INTS VAR_INTS})</li>
- *          <li>2: 32-bit floating point values. ({@code Type#FLOAT_32 FLOAT_32})</li>
- *          <li>3: 64-bit floating point values. ({@code Type#FLOAT_64 FLOAT_64})</li>
- *          <li>4: fixed-length byte array values. ({@code Type#BYTES_FIXED_STRAIGHT BYTES_FIXED_STRAIGHT})</li>
- *          <li>5: fixed-length dereferenced byte array values. ({@code Type#BYTES_FIXED_DEREF BYTES_FIXED_DEREF})</li>
- *          <li>6: variable-length byte array values. ({@code Type#BYTES_VAR_STRAIGHT BYTES_VAR_STRAIGHT})</li>
- *          <li>7: variable-length dereferenced byte array values. ({@code Type#BYTES_VAR_DEREF BYTES_VAR_DEREF})</li>
- *          <li>8: 16-bit signed integers. ({@code Type#FIXED_INTS_16 FIXED_INTS_16})</li>
- *          <li>9: 32-bit signed integers. ({@code Type#FIXED_INTS_32 FIXED_INTS_32})</li>
- *          <li>10: 64-bit signed integers. ({@code Type#FIXED_INTS_64 FIXED_INTS_64})</li>
- *          <li>11: 8-bit signed integers. ({@code Type#FIXED_INTS_8 FIXED_INTS_8})</li>
- *          <li>12: fixed-length sorted byte array values. ({@code Type#BYTES_FIXED_SORTED BYTES_FIXED_SORTED})</li>
- *          <li>13: variable-length sorted byte array values. ({@code Type#BYTES_VAR_SORTED BYTES_VAR_SORTED})</li>
+ *          <li>0: no DocValues for this field.
+ *          <li>1: variable-width signed integers. ({@code Type#VAR_INTS VAR_INTS})
+ *          <li>2: 32-bit floating point values. ({@code Type#FLOAT_32 FLOAT_32})
+ *          <li>3: 64-bit floating point values. ({@code Type#FLOAT_64 FLOAT_64})
+ *          <li>4: fixed-length byte array values. ({@code Type#BYTES_FIXED_STRAIGHT BYTES_FIXED_STRAIGHT})
+ *          <li>5: fixed-length dereferenced byte array values. ({@code Type#BYTES_FIXED_DEREF BYTES_FIXED_DEREF})
+ *          <li>6: variable-length byte array values. ({@code Type#BYTES_VAR_STRAIGHT BYTES_VAR_STRAIGHT})
+ *          <li>7: variable-length dereferenced byte array values. ({@code Type#BYTES_VAR_DEREF BYTES_VAR_DEREF})
+ *          <li>8: 16-bit signed integers. ({@code Type#FIXED_INTS_16 FIXED_INTS_16})
+ *          <li>9: 32-bit signed integers. ({@code Type#FIXED_INTS_32 FIXED_INTS_32})
+ *          <li>10: 64-bit signed integers. ({@code Type#FIXED_INTS_64 FIXED_INTS_64})
+ *          <li>11: 8-bit signed integers. ({@code Type#FIXED_INTS_8 FIXED_INTS_8})
+ *          <li>12: fixed-length sorted byte array values. ({@code Type#BYTES_FIXED_SORTED BYTES_FIXED_SORTED})
+ *          <li>13: variable-length sorted byte array values. ({@code Type#BYTES_VAR_SORTED BYTES_VAR_SORTED})
  *        </ul>
- *    <li>Attributes: a key-value map of codec-private attributes.</li>
+ *    <li>Attributes: a key-value map of codec-private attributes.
  * </ul>
  *
  * @lucene.experimental
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40LiveDocsFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40LiveDocsFormat.java
index 3f3bd15a0a..158d587bd5 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40LiveDocsFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40LiveDocsFormat.java
@@ -48,12 +48,12 @@ import org.apache.lucene.util.MutableBits;
  * <p>Deletions (.del) --&gt; Format,Header,ByteCount,BitCount, Bits | DGaps (depending
  * on Format)</p>
  * <ul>
- *   <li>Format,ByteSize,BitCount --&gt; {@link DataOutput#writeInt Uint32}</li>
- *   <li>Bits --&gt; &lt;{@link DataOutput#writeByte Byte}&gt; <sup>ByteCount</sup></li>
- *   <li>DGaps --&gt; &lt;DGap,NonOnesByte&gt; <sup>NonzeroBytesCount</sup></li>
- *   <li>DGap --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>NonOnesByte --&gt; {@link DataOutput#writeByte Byte}</li>
- *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
+ *   <li>Format,ByteSize,BitCount --&gt; {@link DataOutput#writeInt Uint32}
+ *   <li>Bits --&gt; &lt;{@link DataOutput#writeByte Byte}&gt; <sup>ByteCount</sup>
+ *   <li>DGaps --&gt; &lt;DGap,NonOnesByte&gt; <sup>NonzeroBytesCount</sup>
+ *   <li>DGap --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>NonOnesByte --&gt; {@link DataOutput#writeByte Byte}
+ *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
  * </ul>
  * <p>Format is 1: indicates cleared DGaps.</p>
  * <p>ByteCount indicates the number of bytes in Bits. It is typically
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40NormsFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40NormsFormat.java
index fb43d087e9..0bf0292a2c 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40NormsFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40NormsFormat.java
@@ -40,8 +40,8 @@ import org.apache.lucene.store.CompoundFileDirectory;
  * <p>
  * Files:
  * <ul>
- *   <li><tt>.nrm.cfs</tt>: {@link CompoundFileDirectory compound container}</li>
- *   <li><tt>.nrm.cfe</tt>: {@link CompoundFileDirectory compound entries}</li>
+ *   <li><tt>.nrm.cfs</tt>: {@link CompoundFileDirectory compound container}
+ *   <li><tt>.nrm.cfe</tt>: {@link CompoundFileDirectory compound entries}
  * </ul>
  * Norms are implemented as DocValues, so other than file extension, norms are 
  * written exactly the same way as {@link Lucene40DocValuesFormat DocValues}.
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsFormat.java
index e52667a35d..3cb03cea8d 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsFormat.java
@@ -48,10 +48,10 @@ import org.apache.lucene.util.fst.FST; // javadocs
  * <p>
  * Files:
  * <ul>
- *   <li><tt>.tim</tt>: <a href="#Termdictionary">Term Dictionary</a></li>
- *   <li><tt>.tip</tt>: <a href="#Termindex">Term Index</a></li>
- *   <li><tt>.frq</tt>: <a href="#Frequencies">Frequencies</a></li>
- *   <li><tt>.prx</tt>: <a href="#Positions">Positions</a></li>
+ *   <li><tt>.tim</tt>: <a href="#Termdictionary">Term Dictionary</a>
+ *   <li><tt>.tip</tt>: <a href="#Termindex">Term Index</a>
+ *   <li><tt>.frq</tt>: <a href="#Frequencies">Frequencies</a>
+ *   <li><tt>.prx</tt>: <a href="#Positions">Positions</a>
  * </ul>
  * <p>
  * <a name="Termdictionary" id="Termdictionary"></a>
@@ -67,16 +67,16 @@ import org.apache.lucene.util.fst.FST; // javadocs
  * the postings writer/reader are actually responsible for encoding 
  * and decoding the Postings Metadata and Term Metadata sections described here:</p>
  * <ul>
- *    <li>Postings Metadata --&gt; Header, SkipInterval, MaxSkipLevels, SkipMinimum</li>
+ *    <li>Postings Metadata --&gt; Header, SkipInterval, MaxSkipLevels, SkipMinimum
  *    <li>Term Metadata --&gt; FreqDelta, SkipDelta?, ProxDelta?
- *    <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- *    <li>SkipInterval,MaxSkipLevels,SkipMinimum --&gt; {@link DataOutput#writeInt Uint32}</li>
- *    <li>SkipDelta,FreqDelta,ProxDelta --&gt; {@link DataOutput#writeVLong VLong}</li>
+ *    <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ *    <li>SkipInterval,MaxSkipLevels,SkipMinimum --&gt; {@link DataOutput#writeInt Uint32}
+ *    <li>SkipDelta,FreqDelta,ProxDelta --&gt; {@link DataOutput#writeVLong VLong}
  * </ul>
  * <p>Notes:</p>
  * <ul>
  *    <li>Header is a {@link CodecUtil#writeHeader CodecHeader} storing the version information
- *        for the postings.</li>
+ *        for the postings.
  *    <li>SkipInterval is the fraction of TermDocs stored in skip tables. It is used to accelerate 
  *        {@link DocsEnum#advance(int)}. Larger values result in smaller indexes, greater 
  *        acceleration, but fewer accelerable cases, while smaller values result in bigger indexes, 
@@ -84,22 +84,22 @@ import org.apache.lucene.util.fst.FST; // javadocs
  *    <li>MaxSkipLevels is the max. number of skip levels stored for each term in the .frq file. A 
  *        low value results in smaller indexes but less acceleration, a larger value results in 
  *        slightly larger indexes but greater acceleration. See format of .frq file for more 
- *        information about skip levels.</li>
+ *        information about skip levels.
  *    <li>SkipMinimum is the minimum document frequency a term must have in order to write any 
- *        skip data at all.</li>
+ *        skip data at all.
  *    <li>FreqDelta determines the position of this term's TermFreqs within the .frq
  *        file. In particular, it is the difference between the position of this term's
  *        data in that file and the position of the previous term's data (or zero, for
- *        the first term in the block).</li>
+ *        the first term in the block).
  *    <li>ProxDelta determines the position of this term's TermPositions within the
  *        .prx file. In particular, it is the difference between the position of this
  *        term's data in that file and the position of the previous term's data (or zero,
  *        for the first term in the block. For fields that omit position data, this will
- *        be 0 since prox information is not stored.</li>
+ *        be 0 since prox information is not stored.
  *    <li>SkipDelta determines the position of this term's SkipData within the .frq
  *        file. In particular, it is the number of bytes after TermFreqs that the
  *        SkipData starts. In other words, it is the length of the TermFreq data.
- *        SkipDelta is only stored if DocFreq is not smaller than SkipMinimum.</li>
+ *        SkipDelta is only stored if DocFreq is not smaller than SkipMinimum.
  * </ul>
  * <a name="Termindex" id="Termindex"></a>
  * <h3>Term Index</h3>
@@ -111,18 +111,18 @@ import org.apache.lucene.util.fst.FST; // javadocs
  * with the frequency of the term in that document (except when frequencies are
  * omitted: {@link IndexOptions#DOCS_ONLY}).</p>
  * <ul>
- *   <li>FreqFile (.frq) --&gt; Header, &lt;TermFreqs, SkipData?&gt; <sup>TermCount</sup></li>
- *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- *   <li>TermFreqs --&gt; &lt;TermFreq&gt; <sup>DocFreq</sup></li>
- *   <li>TermFreq --&gt; DocDelta[, Freq?]</li>
+ *   <li>FreqFile (.frq) --&gt; Header, &lt;TermFreqs, SkipData?&gt; <sup>TermCount</sup>
+ *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ *   <li>TermFreqs --&gt; &lt;TermFreq&gt; <sup>DocFreq</sup>
+ *   <li>TermFreq --&gt; DocDelta[, Freq?]
  *   <li>SkipData --&gt; &lt;&lt;SkipLevelLength, SkipLevel&gt;
- *       <sup>NumSkipLevels-1</sup>, SkipLevel&gt; &lt;SkipDatum&gt;</li>
+ *       <sup>NumSkipLevels-1</sup>, SkipLevel&gt; &lt;SkipDatum&gt;
  *   <li>SkipLevel --&gt; &lt;SkipDatum&gt; <sup>DocFreq/(SkipInterval^(Level +
- *       1))</sup></li>
+ *       1))</sup>
  *   <li>SkipDatum --&gt;
- *       DocSkip,PayloadLength?,OffsetLength?,FreqSkip,ProxSkip,SkipChildLevelPointer?</li>
- *   <li>DocDelta,Freq,DocSkip,PayloadLength,OffsetLength,FreqSkip,ProxSkip --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>SkipChildLevelPointer --&gt; {@link DataOutput#writeVLong VLong}</li>
+ *       DocSkip,PayloadLength?,OffsetLength?,FreqSkip,ProxSkip,SkipChildLevelPointer?
+ *   <li>DocDelta,Freq,DocSkip,PayloadLength,OffsetLength,FreqSkip,ProxSkip --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>SkipChildLevelPointer --&gt; {@link DataOutput#writeVLong VLong}
  * </ul>
  * <p>TermFreqs are ordered by term (the term is implicit, from the term dictionary).</p>
  * <p>TermFreq entries are ordered by increasing document number.</p>
@@ -184,12 +184,12 @@ import org.apache.lucene.util.fst.FST; // javadocs
  * anything into this file, and if all fields in the index omit positional data
  * then the .prx file will not exist.</p>
  * <ul>
- *   <li>ProxFile (.prx) --&gt; Header, &lt;TermPositions&gt; <sup>TermCount</sup></li>
- *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- *   <li>TermPositions --&gt; &lt;Positions&gt; <sup>DocFreq</sup></li>
- *   <li>Positions --&gt; &lt;PositionDelta,PayloadLength?,OffsetDelta?,OffsetLength?,PayloadData?&gt; <sup>Freq</sup></li>
- *   <li>PositionDelta,OffsetDelta,OffsetLength,PayloadLength --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>PayloadData --&gt; {@link DataOutput#writeByte byte}<sup>PayloadLength</sup></li>
+ *   <li>ProxFile (.prx) --&gt; Header, &lt;TermPositions&gt; <sup>TermCount</sup>
+ *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ *   <li>TermPositions --&gt; &lt;Positions&gt; <sup>DocFreq</sup>
+ *   <li>Positions --&gt; &lt;PositionDelta,PayloadLength?,OffsetDelta?,OffsetLength?,PayloadData?&gt; <sup>Freq</sup>
+ *   <li>PositionDelta,OffsetDelta,OffsetLength,PayloadLength --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>PayloadData --&gt; {@link DataOutput#writeByte byte}<sup>PayloadLength</sup>
  * </ul>
  * <p>TermPositions are ordered by term (the term is implicit, from the term dictionary).</p>
  * <p>Positions entries are ordered by increasing document number (the document
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoFormat.java
index 07cb7de2e0..0be0d54a08 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoFormat.java
@@ -44,30 +44,30 @@ import org.apache.lucene.store.DataOutput; // javadocs
  * Data types:
  * <p>
  * <ul>
- *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- *   <li>SegSize --&gt; {@link DataOutput#writeInt Int32}</li>
- *   <li>SegVersion --&gt; {@link DataOutput#writeString String}</li>
- *   <li>Files --&gt; {@link DataOutput#writeStringSet Set&lt;String&gt;}</li>
- *   <li>Diagnostics, Attributes --&gt; {@link DataOutput#writeStringStringMap Map&lt;String,String&gt;}</li>
- *   <li>IsCompoundFile --&gt; {@link DataOutput#writeByte Int8}</li>
+ *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ *   <li>SegSize --&gt; {@link DataOutput#writeInt Int32}
+ *   <li>SegVersion --&gt; {@link DataOutput#writeString String}
+ *   <li>Files --&gt; {@link DataOutput#writeStringSet Set&lt;String&gt;}
+ *   <li>Diagnostics, Attributes --&gt; {@link DataOutput#writeStringStringMap Map&lt;String,String&gt;}
+ *   <li>IsCompoundFile --&gt; {@link DataOutput#writeByte Int8}
  * </ul>
  * Field Descriptions:
  * <p>
  * <ul>
- *   <li>SegVersion is the code version that created the segment.</li>
- *   <li>SegSize is the number of documents contained in the segment index.</li>
+ *   <li>SegVersion is the code version that created the segment.
+ *   <li>SegSize is the number of documents contained in the segment index.
  *   <li>IsCompoundFile records whether the segment is written as a compound file or
  *       not. If this is -1, the segment is not a compound file. If it is 1, the segment
- *       is a compound file.</li>
+ *       is a compound file.
  *   <li>Checksum contains the CRC32 checksum of all bytes in the segments_N file up
  *       until the checksum. This is used to verify integrity of the file on opening the
- *       index.</li>
+ *       index.
  *   <li>The Diagnostics Map is privately written by {@link IndexWriter}, as a debugging aid,
  *       for each segment it creates. It includes metadata like the current Lucene
  *       version, OS, Java version, why the segment was created (merge, flush,
- *       addIndexes), etc.</li>
- *   <li>Attributes: a key-value map of codec-private attributes.</li>
- *   <li>Files is a list of files referred to by this segment.</li>
+ *       addIndexes), etc.
+ *   <li>Attributes: a key-value map of codec-private attributes.
+ *   <li>Files is a list of files referred to by this segment.
  * </ul>
  * 
  * @see SegmentInfos
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsFormat.java
index a6f16c2896..b10520b935 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsFormat.java
@@ -50,37 +50,37 @@ import org.apache.lucene.store.IOContext;
  * <p>This contains, for each document, a pointer to its field data, as
  * follows:</p>
  * <ul>
- * <li>FieldIndex (.fdx) --&gt; &lt;Header&gt;, &lt;FieldValuesPosition&gt; <sup>SegSize</sup></li>
- * <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- * <li>FieldValuesPosition --&gt; {@link DataOutput#writeLong Uint64}</li>
+ * <li>FieldIndex (.fdx) --&gt; &lt;Header&gt;, &lt;FieldValuesPosition&gt; <sup>SegSize</sup>
+ * <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ * <li>FieldValuesPosition --&gt; {@link DataOutput#writeLong Uint64}
  * </ul>
  * <li>
  * <p><a name="field_data" id="field_data"></a>The field data, or <tt>.fdt</tt> file.</p>
  * <p>This contains the stored fields of each document, as follows:</p>
  * <ul>
- * <li>FieldData (.fdt) --&gt; &lt;Header&gt;, &lt;DocFieldData&gt; <sup>SegSize</sup></li>
- * <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
+ * <li>FieldData (.fdt) --&gt; &lt;Header&gt;, &lt;DocFieldData&gt; <sup>SegSize</sup>
+ * <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
  * <li>DocFieldData --&gt; FieldCount, &lt;FieldNum, Bits, Value&gt;
- * <sup>FieldCount</sup></li>
- * <li>FieldCount --&gt; {@link DataOutput#writeVInt VInt}</li>
- * <li>FieldNum --&gt; {@link DataOutput#writeVInt VInt}</li>
- * <li>Bits --&gt; {@link DataOutput#writeByte Byte}</li>
+ * <sup>FieldCount</sup>
+ * <li>FieldCount --&gt; {@link DataOutput#writeVInt VInt}
+ * <li>FieldNum --&gt; {@link DataOutput#writeVInt VInt}
+ * <li>Bits --&gt; {@link DataOutput#writeByte Byte}
  * <ul>
- * <li>low order bit reserved.</li>
- * <li>second bit is one for fields containing binary data</li>
- * <li>third bit reserved.</li>
+ * <li>low order bit reserved.
+ * <li>second bit is one for fields containing binary data
+ * <li>third bit reserved.
  * <li>4th to 6th bit (mask: 0x7&lt;&lt;3) define the type of a numeric field:
  * <ul>
- * <li>all bits in mask are cleared if no numeric field at all</li>
- * <li>1&lt;&lt;3: Value is Int</li>
- * <li>2&lt;&lt;3: Value is Long</li>
- * <li>3&lt;&lt;3: Value is Int as Float (as of {@link Float#intBitsToFloat(int)}</li>
- * <li>4&lt;&lt;3: Value is Long as Double (as of {@link Double#longBitsToDouble(long)}</li>
+ * <li>all bits in mask are cleared if no numeric field at all
+ * <li>1&lt;&lt;3: Value is Int
+ * <li>2&lt;&lt;3: Value is Long
+ * <li>3&lt;&lt;3: Value is Int as Float (as of {@link Float#intBitsToFloat(int)}
+ * <li>4&lt;&lt;3: Value is Long as Double (as of {@link Double#longBitsToDouble(long)}
  * </ul>
  * </ul>
- * <li>Value --&gt; String | BinaryValue | Int | Long (depending on Bits)</li>
- * <li>BinaryValue --&gt; ValueSize, &lt;{@link DataOutput#writeByte Byte}&gt;^ValueSize</li>
- * <li>ValueSize --&gt; {@link DataOutput#writeVInt VInt}</li>
+ * <li>Value --&gt; String | BinaryValue | Int | Long (depending on Bits)
+ * <li>BinaryValue --&gt; ValueSize, &lt;{@link DataOutput#writeByte Byte}&gt;^ValueSize
+ * <li>ValueSize --&gt; {@link DataOutput#writeVInt VInt}
  * </ul>
  * </ol>
  * @lucene.experimental */
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsFormat.java
index 6a9c83109b..1dd3c830c3 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsFormat.java
@@ -49,9 +49,9 @@ import org.apache.lucene.store.IOContext;
  * <p>DocumentIndex (.tvx) --&gt; Header,&lt;DocumentPosition,FieldPosition&gt;
  * <sup>NumDocs</sup></p>
  * <ul>
- *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- *   <li>DocumentPosition --&gt; {@link DataOutput#writeLong UInt64} (offset in the .tvd file)</li>
- *   <li>FieldPosition --&gt; {@link DataOutput#writeLong UInt64} (offset in the .tvf file)</li>
+ *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ *   <li>DocumentPosition --&gt; {@link DataOutput#writeLong UInt64} (offset in the .tvd file)
+ *   <li>FieldPosition --&gt; {@link DataOutput#writeLong UInt64} (offset in the .tvf file)
  * </ul>
  * <li><a name="tvd" id="tvd"></a>
  * <p>The Document or .tvd file.</p>
@@ -63,12 +63,12 @@ import org.apache.lucene.store.IOContext;
  * <p>Document (.tvd) --&gt; Header,&lt;NumFields, FieldNums,
  * FieldPositions&gt; <sup>NumDocs</sup></p>
  * <ul>
- *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- *   <li>NumFields --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>FieldNums --&gt; &lt;FieldNumDelta&gt; <sup>NumFields</sup></li>
- *   <li>FieldNumDelta --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>FieldPositions --&gt; &lt;FieldPositionDelta&gt; <sup>NumFields-1</sup></li>
- *   <li>FieldPositionDelta --&gt; {@link DataOutput#writeVLong VLong}</li>
+ *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ *   <li>NumFields --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>FieldNums --&gt; &lt;FieldNumDelta&gt; <sup>NumFields</sup>
+ *   <li>FieldNumDelta --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>FieldPositions --&gt; &lt;FieldPositionDelta&gt; <sup>NumFields-1</sup>
+ *   <li>FieldPositionDelta --&gt; {@link DataOutput#writeVLong VLong}
  * </ul>
  * <li><a name="tvf" id="tvf"></a>
  * <p>The Field or .tvf file.</p>
@@ -78,43 +78,43 @@ import org.apache.lucene.store.IOContext;
  * <p>Field (.tvf) --&gt; Header,&lt;NumTerms, Flags, TermFreqs&gt;
  * <sup>NumFields</sup></p>
  * <ul>
- *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- *   <li>NumTerms --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>Flags --&gt; {@link DataOutput#writeByte Byte}</li>
+ *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ *   <li>NumTerms --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>Flags --&gt; {@link DataOutput#writeByte Byte}
  *   <li>TermFreqs --&gt; &lt;TermText, TermFreq, Positions?, PayloadData?, Offsets?&gt;
- *       <sup>NumTerms</sup></li>
- *   <li>TermText --&gt; &lt;PrefixLength, Suffix&gt;</li>
- *   <li>PrefixLength --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>Suffix --&gt; {@link DataOutput#writeString String}</li>
- *   <li>TermFreq --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>Positions --&gt; &lt;PositionDelta PayloadLength?&gt;<sup>TermFreq</sup></li>
- *   <li>PositionDelta --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>PayloadLength --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>PayloadData --&gt; {@link DataOutput#writeByte Byte}<sup>NumPayloadBytes</sup></li>
- *   <li>Offsets --&gt; &lt;{@link DataOutput#writeVInt VInt}, {@link DataOutput#writeVInt VInt}&gt;<sup>TermFreq</sup></li>
+ *       <sup>NumTerms</sup>
+ *   <li>TermText --&gt; &lt;PrefixLength, Suffix&gt;
+ *   <li>PrefixLength --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>Suffix --&gt; {@link DataOutput#writeString String}
+ *   <li>TermFreq --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>Positions --&gt; &lt;PositionDelta PayloadLength?&gt;<sup>TermFreq</sup>
+ *   <li>PositionDelta --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>PayloadLength --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>PayloadData --&gt; {@link DataOutput#writeByte Byte}<sup>NumPayloadBytes</sup>
+ *   <li>Offsets --&gt; &lt;{@link DataOutput#writeVInt VInt}, {@link DataOutput#writeVInt VInt}&gt;<sup>TermFreq</sup>
  * </ul>
  * <p>Notes:</p>
  * <ul>
  * <li>Flags byte stores whether this term vector has position, offset, payload.
- * information stored.</li>
+ * information stored.
  * <li>Term byte prefixes are shared. The PrefixLength is the number of initial
  * bytes from the previous term which must be pre-pended to a term's suffix
  * in order to form the term's bytes. Thus, if the previous term's text was "bone"
- * and the term is "boy", the PrefixLength is two and the suffix is "y".</li>
+ * and the term is "boy", the PrefixLength is two and the suffix is "y".
  * <li>PositionDelta is, if payloads are disabled for the term's field, the
  * difference between the position of the current occurrence in the document and
  * the previous occurrence (or zero, if this is the first occurrence in this
  * document). If payloads are enabled for the term's field, then PositionDelta/2
  * is the difference between the current and the previous position. If payloads
  * are enabled and PositionDelta is odd, then PayloadLength is stored, indicating
- * the length of the payload at the current term position.</li>
+ * the length of the payload at the current term position.
  * <li>PayloadData is metadata associated with a term position. If
  * PayloadLength is stored at the current position, then it indicates the length
  * of this payload. If PayloadLength is not stored, then this payload has the same
  * length as the payload at the previous position. PayloadData encodes the 
- * concatenated bytes for all of a terms occurrences.</li>
+ * concatenated bytes for all of a terms occurrences.
  * <li>Offsets are stored as delta encoded VInts. The first VInt is the
- * startOffset, the second is the endOffset.</li>
+ * startOffset, the second is the endOffset.
  * </ul>
  * </ol>
  */
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene41/Lucene41PostingsFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene41/Lucene41PostingsFormat.java
index 365bec13b7..c5e7824921 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene41/Lucene41PostingsFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene41/Lucene41PostingsFormat.java
@@ -104,11 +104,11 @@ import org.apache.lucene.util.packed.PackedInts;
  * <p>
  * Files and detailed format:
  * <ul>
- *   <li><tt>.tim</tt>: <a href="#Termdictionary">Term Dictionary</a></li>
- *   <li><tt>.tip</tt>: <a href="#Termindex">Term Index</a></li>
- *   <li><tt>.doc</tt>: <a href="#Frequencies">Frequencies and Skip Data</a></li>
- *   <li><tt>.pos</tt>: <a href="#Positions">Positions</a></li>
- *   <li><tt>.pay</tt>: <a href="#Payloads">Payloads and Offsets</a></li>
+ *   <li><tt>.tim</tt>: <a href="#Termdictionary">Term Dictionary</a>
+ *   <li><tt>.tip</tt>: <a href="#Termindex">Term Index</a>
+ *   <li><tt>.doc</tt>: <a href="#Frequencies">Frequencies and Skip Data</a>
+ *   <li><tt>.pos</tt>: <a href="#Positions">Positions</a>
+ *   <li><tt>.pay</tt>: <a href="#Payloads">Payloads and Offsets</a>
  * </ul>
  *
  * <a name="Termdictionary" id="Termdictionary"></a>
@@ -127,17 +127,17 @@ import org.apache.lucene.util.packed.PackedInts;
  * and decoding the PostingsHeader and TermMetadata sections described here:</p>
  *
  * <ul>
- *   <li>PostingsHeader --&gt; Header, PackedBlockSize</li>
+ *   <li>PostingsHeader --&gt; Header, PackedBlockSize
  *   <li>TermMetadata --&gt; (DocFPDelta|SingletonDocID), PosFPDelta?, PosVIntBlockFPDelta?, PayFPDelta?, 
- *                            SkipFPDelta?</li>
- *   <li>Header, --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- *   <li>PackedBlockSize, SingletonDocID --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>DocFPDelta, PosFPDelta, PayFPDelta, PosVIntBlockFPDelta, SkipFPDelta --&gt; {@link DataOutput#writeVLong VLong}</li>
+ *                            SkipFPDelta?
+ *   <li>Header, --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ *   <li>PackedBlockSize, SingletonDocID --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>DocFPDelta, PosFPDelta, PayFPDelta, PosVIntBlockFPDelta, SkipFPDelta --&gt; {@link DataOutput#writeVLong VLong}
  * </ul>
  * <p>Notes:</p>
  * <ul>
  *    <li>Header is a {@link CodecUtil#writeHeader CodecHeader} storing the version information
- *        for the postings.</li>
+ *        for the postings.
  *    <li>PackedBlockSize is the fixed block size for packed blocks. In packed block, bit width is 
  *        determined by the largest integer. Smaller block size result in smaller variance among width 
  *        of integers hence smaller indexes. Larger block size result in more efficient bulk i/o hence
@@ -146,11 +146,11 @@ import org.apache.lucene.util.packed.PackedInts;
  *    <li>DocFPDelta determines the position of this term's TermFreqs within the .doc file. 
  *        In particular, it is the difference of file offset between this term's
  *        data and previous term's data (or zero, for the first term in the block).On disk it is 
- *        stored as the difference from previous value in sequence. </li>
+ *        stored as the difference from previous value in sequence. 
  *    <li>PosFPDelta determines the position of this term's TermPositions within the .pos file.
  *        While PayFPDelta determines the position of this term's &lt;TermPayloads, TermOffsets?&gt; within 
  *        the .pay file. Similar to DocFPDelta, it is the difference between two file positions (or 
- *        neglected, for fields that omit payloads and offsets).</li>
+ *        neglected, for fields that omit payloads and offsets).
  *    <li>PosVIntBlockFPDelta determines the position of this term's last TermPosition in last pos packed
  *        block within the .pos file. It is synonym for PayVIntBlockFPDelta or OffsetVIntBlockFPDelta. 
  *        This is actually used to indicate whether it is necessary to load following
@@ -162,10 +162,10 @@ import org.apache.lucene.util.packed.PackedInts;
  *    <li>SkipFPDelta determines the position of this term's SkipData within the .doc
  *        file. In particular, it is the length of the TermFreq data.
  *        SkipDelta is only stored if DocFreq is not smaller than SkipMinimum
- *        (i.e. 128 in Lucene41PostingsFormat).</li>
+ *        (i.e. 128 in Lucene41PostingsFormat).
  *    <li>SingletonDocID is an optimization when a term only appears in one document. In this case, instead
  *        of writing a file pointer to the .doc file (DocFPDelta), and then a VIntBlock at that location, the 
- *        single document ID is written to the term dictionary.</li>
+ *        single document ID is written to the term dictionary.
  * </ul>
  * </dd>
  * </dl>
@@ -191,31 +191,31 @@ import org.apache.lucene.util.packed.PackedInts;
  * each packed or VInt block, when the length of document list is larger than packed block size.</p>
  *
  * <ul>
- *   <li>docFile(.doc) --&gt; Header, &lt;TermFreqs, SkipData?&gt;<sup>TermCount</sup></li>
- *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
+ *   <li>docFile(.doc) --&gt; Header, &lt;TermFreqs, SkipData?&gt;<sup>TermCount</sup>
+ *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
  *   <li>TermFreqs --&gt; &lt;PackedBlock&gt; <sup>PackedDocBlockNum</sup>,  
- *                        VIntBlock? </li>
+ *                        VIntBlock? 
  *   <li>PackedBlock --&gt; PackedDocDeltaBlock, PackedFreqBlock?
  *   <li>VIntBlock --&gt; &lt;DocDelta[, Freq?]&gt;<sup>DocFreq-PackedBlockSize*PackedDocBlockNum</sup>
  *   <li>SkipData --&gt; &lt;&lt;SkipLevelLength, SkipLevel&gt;
- *       <sup>NumSkipLevels-1</sup>, SkipLevel&gt;, SkipDatum?</li>
- *   <li>SkipLevel --&gt; &lt;SkipDatum&gt; <sup>TrimmedDocFreq/(PackedBlockSize^(Level + 1))</sup></li>
+ *       <sup>NumSkipLevels-1</sup>, SkipLevel&gt;, SkipDatum?
+ *   <li>SkipLevel --&gt; &lt;SkipDatum&gt; <sup>TrimmedDocFreq/(PackedBlockSize^(Level + 1))</sup>
  *   <li>SkipDatum --&gt; DocSkip, DocFPSkip, &lt;PosFPSkip, PosBlockOffset, PayLength?, 
- *                        PayFPSkip?&gt;?, SkipChildLevelPointer?</li>
- *   <li>PackedDocDeltaBlock, PackedFreqBlock --&gt; {@link PackedInts PackedInts}</li>
+ *                        PayFPSkip?&gt;?, SkipChildLevelPointer?
+ *   <li>PackedDocDeltaBlock, PackedFreqBlock --&gt; {@link PackedInts PackedInts}
  *   <li>DocDelta, Freq, DocSkip, DocFPSkip, PosFPSkip, PosBlockOffset, PayByteUpto, PayFPSkip 
  *       --&gt; 
- *   {@link DataOutput#writeVInt VInt}</li>
- *   <li>SkipChildLevelPointer --&gt; {@link DataOutput#writeVLong VLong}</li>
+ *   {@link DataOutput#writeVInt VInt}
+ *   <li>SkipChildLevelPointer --&gt; {@link DataOutput#writeVLong VLong}
  * </ul>
  * <p>Notes:</p>
  * <ul>
  *   <li>PackedDocDeltaBlock is theoretically generated from two steps: 
  *     <ol>
  *       <li>Calculate the difference between each document number and previous one, 
- *           and get a d-gaps list (for the first document, use absolute value); </li>
+ *           and get a d-gaps list (for the first document, use absolute value); 
  *       <li>For those d-gaps from first one to PackedDocBlockNum*PackedBlockSize<sup>th</sup>, 
- *           separately encode as packed blocks.</li>
+ *           separately encode as packed blocks.
  *     </ol>
  *     If frequencies are not omitted, PackedFreqBlock will be generated without d-gap step.
  *   <li>VIntBlock stores remaining d-gaps (along with frequencies when possible) with a format 
@@ -235,7 +235,7 @@ import org.apache.lucene.util.packed.PackedInts;
  *          sequence of VInts instead:</p>
  *       <p>7,4</p>
  *   <li>PackedDocBlockNum is the number of packed blocks for current term's docids or frequencies. 
- *       In particular, PackedDocBlockNum = floor(DocFreq/PackedBlockSize) </li>
+ *       In particular, PackedDocBlockNum = floor(DocFreq/PackedBlockSize) 
  *   <li>TrimmedDocFreq = DocFreq % PackedBlockSize == 0 ? DocFreq - 1 : DocFreq. 
  *       We use this trick since the definition of skip entry is a little different from base interface.
  *       In {@link MultiLevelSkipListWriter}, skip data is assumed to be saved for
@@ -243,24 +243,24 @@ import org.apache.lucene.util.packed.PackedInts;
  *       in Lucene41PostingsFormat, the skip data is saved for skipInterval+1<sup>th</sup>, 
  *       2*skipInterval+1<sup>th</sup> ... posting (skipInterval==PackedBlockSize in this case). 
  *       When DocFreq is multiple of PackedBlockSize, MultiLevelSkipListWriter will expect one 
- *       more skip data than Lucene41SkipWriter. </li>
+ *       more skip data than Lucene41SkipWriter. 
  *   <li>SkipDatum is the metadata of one skip entry.
- *      For the first block (no matter packed or VInt), it is omitted.</li>
+ *      For the first block (no matter packed or VInt), it is omitted.
  *   <li>DocSkip records the document number of every PackedBlockSize<sup>th</sup> document number in
  *       the postings (i.e. last document number in each packed block). On disk it is stored as the 
- *       difference from previous value in the sequence. </li>
+ *       difference from previous value in the sequence. 
  *   <li>DocFPSkip records the file offsets of each block (excluding )posting at 
  *       PackedBlockSize+1<sup>th</sup>, 2*PackedBlockSize+1<sup>th</sup> ... , in DocFile. 
  *       The file offsets are relative to the start of current term's TermFreqs. 
- *       On disk it is also stored as the difference from previous SkipDatum in the sequence.</li>
+ *       On disk it is also stored as the difference from previous SkipDatum in the sequence.
  *   <li>Since positions and payloads are also block encoded, the skip should skip to related block first,
  *       then fetch the values according to in-block offset. PosFPSkip and PayFPSkip record the file 
  *       offsets of related block in .pos and .pay, respectively. While PosBlockOffset indicates
  *       which value to fetch inside the related block (PayBlockOffset is unnecessary since it is always
  *       equal to PosBlockOffset). Same as DocFPSkip, the file offsets are relative to the start of 
- *       current term's TermFreqs, and stored as a difference sequence.</li>
+ *       current term's TermFreqs, and stored as a difference sequence.
  *   <li>PayByteUpto indicates the start offset of the current payload. It is equivalent to
- *       the sum of the payload lengths in the current block up to PosBlockOffset</li>
+ *       the sum of the payload lengths in the current block up to PosBlockOffset
  * </ul>
  * </dd>
  * </dl>
@@ -272,47 +272,47 @@ import org.apache.lucene.util.packed.PackedInts;
  * <p>The .pos file contains the lists of positions that each term occurs at within documents. It also
  *    sometimes stores part of payloads and offsets for speedup.</p>
  * <ul>
- *   <li>PosFile(.pos) --&gt; Header, &lt;TermPositions&gt; <sup>TermCount</sup></li>
- *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
+ *   <li>PosFile(.pos) --&gt; Header, &lt;TermPositions&gt; <sup>TermCount</sup>
+ *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
  *   <li>TermPositions --&gt; &lt;PackedPosDeltaBlock&gt; <sup>PackedPosBlockNum</sup>,  
- *                            VIntBlock? </li>
+ *                            VIntBlock? 
  *   <li>VIntBlock --&gt; &lt;PositionDelta[, PayloadLength?], PayloadData?, 
  *                        OffsetDelta?, OffsetLength?&gt;<sup>PosVIntCount</sup>
- *   <li>PackedPosDeltaBlock --&gt; {@link PackedInts PackedInts}</li>
+ *   <li>PackedPosDeltaBlock --&gt; {@link PackedInts PackedInts}
  *   <li>PositionDelta, OffsetDelta, OffsetLength --&gt; 
- *       {@link DataOutput#writeVInt VInt}</li>
- *   <li>PayloadData --&gt; {@link DataOutput#writeByte byte}<sup>PayLength</sup></li>
+ *       {@link DataOutput#writeVInt VInt}
+ *   <li>PayloadData --&gt; {@link DataOutput#writeByte byte}<sup>PayLength</sup>
  * </ul>
  * <p>Notes:</p>
  * <ul>
  *   <li>TermPositions are order by term (terms are implicit, from the term dictionary), and position 
- *       values for each term document pair are incremental, and ordered by document number.</li>
+ *       values for each term document pair are incremental, and ordered by document number.
  *   <li>PackedPosBlockNum is the number of packed blocks for current term's positions, payloads or offsets. 
- *       In particular, PackedPosBlockNum = floor(totalTermFreq/PackedBlockSize) </li>
+ *       In particular, PackedPosBlockNum = floor(totalTermFreq/PackedBlockSize) 
  *   <li>PosVIntCount is the number of positions encoded as VInt format. In particular, 
- *       PosVIntCount = totalTermFreq - PackedPosBlockNum*PackedBlockSize</li>
+ *       PosVIntCount = totalTermFreq - PackedPosBlockNum*PackedBlockSize
  *   <li>The procedure how PackedPosDeltaBlock is generated is the same as PackedDocDeltaBlock 
- *       in chapter <a href="#Frequencies">Frequencies and Skip Data</a>.</li>
+ *       in chapter <a href="#Frequencies">Frequencies and Skip Data</a>.
  *   <li>PositionDelta is, if payloads are disabled for the term's field, the
  *       difference between the position of the current occurrence in the document and
  *       the previous occurrence (or zero, if this is the first occurrence in this
  *       document). If payloads are enabled for the term's field, then PositionDelta/2
  *       is the difference between the current and the previous position. If payloads
  *       are enabled and PositionDelta is odd, then PayloadLength is stored, indicating
- *       the length of the payload at the current term position.</li>
+ *       the length of the payload at the current term position.
  *   <li>For example, the TermPositions for a term which occurs as the fourth term in
  *       one document, and as the fifth and ninth term in a subsequent document, would
  *       be the following sequence of VInts (payloads disabled):
- *       <p>4, 5, 4</p></li>
+ *       <p>4, 5, 4</p>
  *   <li>PayloadData is metadata associated with the current term position. If
  *       PayloadLength is stored at the current position, then it indicates the length
  *       of this payload. If PayloadLength is not stored, then this payload has the same
- *       length as the payload at the previous position.</li>
+ *       length as the payload at the previous position.
  *   <li>OffsetDelta/2 is the difference between this position's startOffset from the
  *       previous occurrence (or zero, if this is the first occurrence in this document).
  *       If OffsetDelta is odd, then the length (endOffset-startOffset) differs from the
  *       previous occurrence and an OffsetLength follows. Offset data is only written for
- *       {@link IndexOptions#DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS}.</li>
+ *       {@link IndexOptions#DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS}.
  * </ul>
  * </dd>
  * </dl>
@@ -324,27 +324,27 @@ import org.apache.lucene.util.packed.PackedInts;
  * <p>The .pay file will store payloads and offsets associated with certain term-document positions. 
  *    Some payloads and offsets will be separated out into .pos file, for performance reasons.</p>
  * <ul>
- *   <li>PayFile(.pay): --&gt; Header, &lt;TermPayloads, TermOffsets?&gt; <sup>TermCount</sup></li>
- *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
+ *   <li>PayFile(.pay): --&gt; Header, &lt;TermPayloads, TermOffsets?&gt; <sup>TermCount</sup>
+ *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
  *   <li>TermPayloads --&gt; &lt;PackedPayLengthBlock, SumPayLength, PayData&gt; <sup>PackedPayBlockNum</sup>
  *   <li>TermOffsets --&gt; &lt;PackedOffsetStartDeltaBlock, PackedOffsetLengthBlock&gt; <sup>PackedPayBlockNum</sup>
- *   <li>PackedPayLengthBlock, PackedOffsetStartDeltaBlock, PackedOffsetLengthBlock --&gt; {@link PackedInts PackedInts}</li>
- *   <li>SumPayLength --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>PayData --&gt; {@link DataOutput#writeByte byte}<sup>SumPayLength</sup></li>
+ *   <li>PackedPayLengthBlock, PackedOffsetStartDeltaBlock, PackedOffsetLengthBlock --&gt; {@link PackedInts PackedInts}
+ *   <li>SumPayLength --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>PayData --&gt; {@link DataOutput#writeByte byte}<sup>SumPayLength</sup>
  * </ul>
  * <p>Notes:</p>
  * <ul>
  *   <li>The order of TermPayloads/TermOffsets will be the same as TermPositions, note that part of 
- *       payload/offsets are stored in .pos.</li>
+ *       payload/offsets are stored in .pos.
  *   <li>The procedure how PackedPayLengthBlock and PackedOffsetLengthBlock are generated is the 
  *       same as PackedFreqBlock in chapter <a href="#Frequencies">Frequencies and Skip Data</a>. 
- *       While PackedStartDeltaBlock follows a same procedure as PackedDocDeltaBlock.</li>
+ *       While PackedStartDeltaBlock follows a same procedure as PackedDocDeltaBlock.
  *   <li>PackedPayBlockNum is always equal to PackedPosBlockNum, for the same term. It is also synonym 
- *       for PackedOffsetBlockNum.</li>
+ *       for PackedOffsetBlockNum.
  *   <li>SumPayLength is the total length of payloads written within one block, should be the sum
- *       of PayLengths in one packed block.</li>
+ *       of PayLengths in one packed block.
  *   <li>PayLength in PackedPayLengthBlock is the length of each payload associated with the current 
- *       position.</li>
+ *       position.
  * </ul>
  * </dd>
  * </dl>
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene41/Lucene41StoredFieldsFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene41/Lucene41StoredFieldsFormat.java
index 63b488fd77..013f22cfda 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene41/Lucene41StoredFieldsFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene41/Lucene41StoredFieldsFormat.java
@@ -60,60 +60,60 @@ import org.apache.lucene.util.packed.PackedInts;
  * <a href="http://fastcompression.blogspot.fr/2011/05/lz4-explained.html">compression format</a>.</p>
  * <p>Here is a more detailed description of the field data file format:</p>
  * <ul>
- * <li>FieldData (.fdt) --&gt; &lt;Header&gt;, PackedIntsVersion, &lt;Chunk&gt;<sup>ChunkCount</sup></li>
- * <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- * <li>PackedIntsVersion --&gt; {@link PackedInts#VERSION_CURRENT} as a {@link DataOutput#writeVInt VInt}</li>
- * <li>ChunkCount is not known in advance and is the number of chunks necessary to store all document of the segment</li>
- * <li>Chunk --&gt; DocBase, ChunkDocs, DocFieldCounts, DocLengths, &lt;CompressedDocs&gt;</li>
- * <li>DocBase --&gt; the ID of the first document of the chunk as a {@link DataOutput#writeVInt VInt}</li>
- * <li>ChunkDocs --&gt; the number of documents in the chunk as a {@link DataOutput#writeVInt VInt}</li>
+ * <li>FieldData (.fdt) --&gt; &lt;Header&gt;, PackedIntsVersion, &lt;Chunk&gt;<sup>ChunkCount</sup>
+ * <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ * <li>PackedIntsVersion --&gt; {@link PackedInts#VERSION_CURRENT} as a {@link DataOutput#writeVInt VInt}
+ * <li>ChunkCount is not known in advance and is the number of chunks necessary to store all document of the segment
+ * <li>Chunk --&gt; DocBase, ChunkDocs, DocFieldCounts, DocLengths, &lt;CompressedDocs&gt;
+ * <li>DocBase --&gt; the ID of the first document of the chunk as a {@link DataOutput#writeVInt VInt}
+ * <li>ChunkDocs --&gt; the number of documents in the chunk as a {@link DataOutput#writeVInt VInt}
  * <li>DocFieldCounts --&gt; the number of stored fields of every document in the chunk, encoded as followed:<ul>
- *   <li>if chunkDocs=1, the unique value is encoded as a {@link DataOutput#writeVInt VInt}</li>
+ *   <li>if chunkDocs=1, the unique value is encoded as a {@link DataOutput#writeVInt VInt}
  *   <li>else read a {@link DataOutput#writeVInt VInt} (let's call it <tt>bitsRequired</tt>)<ul>
- *     <li>if <tt>bitsRequired</tt> is <tt>0</tt> then all values are equal, and the common value is the following {@link DataOutput#writeVInt VInt}</li>
- *     <li>else <tt>bitsRequired</tt> is the number of bits required to store any value, and values are stored in a {@link PackedInts packed} array where every value is stored on exactly <tt>bitsRequired</tt> bits</li>
- *   </ul></li>
- * </ul></li>
- * <li>DocLengths --&gt; the lengths of all documents in the chunk, encoded with the same method as DocFieldCounts</li>
- * <li>CompressedDocs --&gt; a compressed representation of &lt;Docs&gt; using the LZ4 compression format</li>
- * <li>Docs --&gt; &lt;Doc&gt;<sup>ChunkDocs</sup></li>
- * <li>Doc --&gt; &lt;FieldNumAndType, Value&gt;<sup>DocFieldCount</sup></li>
- * <li>FieldNumAndType --&gt; a {@link DataOutput#writeVLong VLong}, whose 3 last bits are Type and other bits are FieldNum</li>
+ *     <li>if <tt>bitsRequired</tt> is <tt>0</tt> then all values are equal, and the common value is the following {@link DataOutput#writeVInt VInt}
+ *     <li>else <tt>bitsRequired</tt> is the number of bits required to store any value, and values are stored in a {@link PackedInts packed} array where every value is stored on exactly <tt>bitsRequired</tt> bits
+ *   </ul>
+ * </ul>
+ * <li>DocLengths --&gt; the lengths of all documents in the chunk, encoded with the same method as DocFieldCounts
+ * <li>CompressedDocs --&gt; a compressed representation of &lt;Docs&gt; using the LZ4 compression format
+ * <li>Docs --&gt; &lt;Doc&gt;<sup>ChunkDocs</sup>
+ * <li>Doc --&gt; &lt;FieldNumAndType, Value&gt;<sup>DocFieldCount</sup>
+ * <li>FieldNumAndType --&gt; a {@link DataOutput#writeVLong VLong}, whose 3 last bits are Type and other bits are FieldNum
  * <li>Type --&gt;<ul>
- *   <li>0: Value is String</li>
- *   <li>1: Value is BinaryValue</li>
- *   <li>2: Value is Int</li>
- *   <li>3: Value is Float</li>
- *   <li>4: Value is Long</li>
- *   <li>5: Value is Double</li>
- *   <li>6, 7: unused</li>
- * </ul></li>
- * <li>FieldNum --&gt; an ID of the field</li>
- * <li>Value --&gt; {@link DataOutput#writeString(String) String} | BinaryValue | Int | Float | Long | Double depending on Type</li>
- * <li>BinaryValue --&gt; ValueLength &lt;Byte&gt;<sup>ValueLength</sup></li>
+ *   <li>0: Value is String
+ *   <li>1: Value is BinaryValue
+ *   <li>2: Value is Int
+ *   <li>3: Value is Float
+ *   <li>4: Value is Long
+ *   <li>5: Value is Double
+ *   <li>6, 7: unused
+ * </ul>
+ * <li>FieldNum --&gt; an ID of the field
+ * <li>Value --&gt; {@link DataOutput#writeString(String) String} | BinaryValue | Int | Float | Long | Double depending on Type
+ * <li>BinaryValue --&gt; ValueLength &lt;Byte&gt;<sup>ValueLength</sup>
  * </ul>
  * <p>Notes</p>
  * <ul>
  * <li>If documents are larger than 16KB then chunks will likely contain only
  * one document. However, documents can never spread across several chunks (all
- * fields of a single document are in the same chunk).</li>
+ * fields of a single document are in the same chunk).
  * <li>When at least one document in a chunk is large enough so that the chunk
  * is larger than 32KB, the chunk will actually be compressed in several LZ4
  * blocks of 16KB. This allows {@link StoredFieldVisitor}s which are only
  * interested in the first fields of a document to not have to decompress 10MB
- * of data if the document is 10MB, but only 16KB.</li>
+ * of data if the document is 10MB, but only 16KB.
  * <li>Given that the original lengths are written in the metadata of the chunk,
  * the decompressor can leverage this information to stop decoding as soon as
- * enough data has been decompressed.</li>
+ * enough data has been decompressed.
  * <li>In case documents are incompressible, CompressedDocs will be less than
- * 0.5% larger than Docs.</li>
+ * 0.5% larger than Docs.
  * </ul>
  * <li><a name="field_index" id="field_index"></a>
  * <p>A fields index file (extension <tt>.fdx</tt>).</p>
  * <ul>
- * <li>FieldsIndex (.fdx) --&gt; &lt;Header&gt;, &lt;ChunkIndex&gt;</li>
- * <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- * <li>ChunkIndex: See {@link CompressingStoredFieldsIndexWriter}</li>
+ * <li>FieldsIndex (.fdx) --&gt; &lt;Header&gt;, &lt;ChunkIndex&gt;
+ * <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ * <li>ChunkIndex: See {@link CompressingStoredFieldsIndexWriter}
  * </ul>
  * </ol>
  * <p><b>Known limitations</b></p>
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesFormat.java
index bc76933c50..8411b31798 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesFormat.java
@@ -68,8 +68,8 @@ import org.apache.lucene.util.packed.BlockPackedWriter;
  * <p>
  * Files:
  * <ol>
- *   <li><tt>.dvd</tt>: DocValues data</li>
- *   <li><tt>.dvm</tt>: DocValues metadata</li>
+ *   <li><tt>.dvd</tt>: DocValues data
+ *   <li><tt>.dvm</tt>: DocValues metadata
  * </ol>
  * <ol>
  *   <li><a name="dvm" id="dvm"></a>
@@ -78,14 +78,14 @@ import org.apache.lucene.util.packed.BlockPackedWriter;
  *      DocValues data (.dvd)</p>
  *   <p>DocValues metadata (.dvm) --&gt; Header,&lt;FieldNumber,EntryType,Entry&gt;<sup>NumFields</sup></p>
  *   <ul>
- *     <li>Entry --&gt; NumericEntry | BinaryEntry | SortedEntry</li>
- *     <li>NumericEntry --&gt; DataOffset,CompressionType,PackedVersion</li>
- *     <li>BinaryEntry --&gt; DataOffset,DataLength,MinLength,MaxLength,PackedVersion?,BlockSize?</li>
- *     <li>SortedEntry --&gt; DataOffset,ValueCount</li>
- *     <li>FieldNumber,PackedVersion,MinLength,MaxLength,BlockSize,ValueCount --&gt; {@link DataOutput#writeVInt VInt}</li>
- *     <li>DataOffset,DataLength --&gt; {@link DataOutput#writeLong Int64}</li>
- *     <li>EntryType,CompressionType --&gt; {@link DataOutput#writeByte Byte}</li>
- *     <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
+ *     <li>Entry --&gt; NumericEntry | BinaryEntry | SortedEntry
+ *     <li>NumericEntry --&gt; DataOffset,CompressionType,PackedVersion
+ *     <li>BinaryEntry --&gt; DataOffset,DataLength,MinLength,MaxLength,PackedVersion?,BlockSize?
+ *     <li>SortedEntry --&gt; DataOffset,ValueCount
+ *     <li>FieldNumber,PackedVersion,MinLength,MaxLength,BlockSize,ValueCount --&gt; {@link DataOutput#writeVInt VInt}
+ *     <li>DataOffset,DataLength --&gt; {@link DataOutput#writeLong Int64}
+ *     <li>EntryType,CompressionType --&gt; {@link DataOutput#writeByte Byte}
+ *     <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
  *   </ul>
  *   <p>Sorted fields have two entries: a SortedEntry with the FST metadata,
  *      and an ordinary NumericEntry for the document-to-ord metadata.</p>
@@ -115,13 +115,13 @@ import org.apache.lucene.util.packed.BlockPackedWriter;
  *   <p>For DocValues field, this stores the actual per-document data (the heavy-lifting)</p>
  *   <p>DocValues data (.dvd) --&gt; Header,&lt;NumericData | BinaryData | SortedData&gt;<sup>NumFields</sup></p>
  *   <ul>
- *     <li>NumericData --&gt; DeltaCompressedNumerics | TableCompressedNumerics | UncompressedNumerics | GCDCompressedNumerics</li>
- *     <li>BinaryData --&gt;  {@link DataOutput#writeByte Byte}<sup>DataLength</sup>,Addresses</li>
- *     <li>SortedData --&gt; {@link FST FST&lt;Int64&gt;}</li>
- *     <li>DeltaCompressedNumerics --&gt; {@link BlockPackedWriter BlockPackedInts(blockSize=4096)}</li>
- *     <li>TableCompressedNumerics --&gt; TableSize,{@link DataOutput#writeLong Int64}<sup>TableSize</sup>,{@link PackedInts PackedInts}</li>
- *     <li>UncompressedNumerics --&gt; {@link DataOutput#writeByte Byte}<sup>maxdoc</sup></li>
- *     <li>Addresses --&gt; {@link MonotonicBlockPackedWriter MonotonicBlockPackedInts(blockSize=4096)}</li>
+ *     <li>NumericData --&gt; DeltaCompressedNumerics | TableCompressedNumerics | UncompressedNumerics | GCDCompressedNumerics
+ *     <li>BinaryData --&gt;  {@link DataOutput#writeByte Byte}<sup>DataLength</sup>,Addresses
+ *     <li>SortedData --&gt; {@link FST FST&lt;Int64&gt;}
+ *     <li>DeltaCompressedNumerics --&gt; {@link BlockPackedWriter BlockPackedInts(blockSize=4096)}
+ *     <li>TableCompressedNumerics --&gt; TableSize,{@link DataOutput#writeLong Int64}<sup>TableSize</sup>,{@link PackedInts PackedInts}
+ *     <li>UncompressedNumerics --&gt; {@link DataOutput#writeByte Byte}<sup>maxdoc</sup>
+ *     <li>Addresses --&gt; {@link MonotonicBlockPackedWriter MonotonicBlockPackedInts(blockSize=4096)}
  *   </ul>
  *   <p>SortedSet entries store the list of ordinals in their BinaryData as a
  *      sequences of increasing {@link DataOutput#writeVLong vLong}s, delta-encoded.</p>       
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42FieldInfosFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42FieldInfosFormat.java
index 1affb2ea9f..dc88a32f18 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42FieldInfosFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42FieldInfosFormat.java
@@ -42,49 +42,49 @@ import org.apache.lucene.store.DataOutput; // javadoc
  * FieldBits,DocValuesBits,Attributes&gt; <sup>FieldsCount</sup></p>
  * <p>Data types:
  * <ul>
- *   <li>Header --&gt; {@link CodecUtil#checkHeader CodecHeader}</li>
- *   <li>FieldsCount --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>FieldName --&gt; {@link DataOutput#writeString String}</li>
- *   <li>FieldBits, DocValuesBits --&gt; {@link DataOutput#writeByte Byte}</li>
- *   <li>FieldNumber --&gt; {@link DataOutput#writeInt VInt}</li>
- *   <li>Attributes --&gt; {@link DataOutput#writeStringStringMap Map&lt;String,String&gt;}</li>
+ *   <li>Header --&gt; {@link CodecUtil#checkHeader CodecHeader}
+ *   <li>FieldsCount --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>FieldName --&gt; {@link DataOutput#writeString String}
+ *   <li>FieldBits, DocValuesBits --&gt; {@link DataOutput#writeByte Byte}
+ *   <li>FieldNumber --&gt; {@link DataOutput#writeInt VInt}
+ *   <li>Attributes --&gt; {@link DataOutput#writeStringStringMap Map&lt;String,String&gt;}
  * </ul>
  * Field Descriptions:
  * <ul>
- *   <li>FieldsCount: the number of fields in this file.</li>
- *   <li>FieldName: name of the field as a UTF-8 String.</li>
+ *   <li>FieldsCount: the number of fields in this file.
+ *   <li>FieldName: name of the field as a UTF-8 String.
  *   <li>FieldNumber: the field's number. Note that unlike previous versions of
  *       Lucene, the fields are not numbered implicitly by their order in the
- *       file, instead explicitly.</li>
+ *       file, instead explicitly.
  *   <li>FieldBits: a byte containing field options.
  *       <ul>
  *         <li>The low-order bit is one for indexed fields, and zero for non-indexed
- *             fields.</li>
+ *             fields.
  *         <li>The second lowest-order bit is one for fields that have term vectors
- *             stored, and zero for fields without term vectors.</li>
+ *             stored, and zero for fields without term vectors.
  *         <li>If the third lowest order-bit is set (0x4), offsets are stored into
- *             the postings list in addition to positions.</li>
- *         <li>Fourth bit is unused.</li>
+ *             the postings list in addition to positions.
+ *         <li>Fourth bit is unused.
  *         <li>If the fifth lowest-order bit is set (0x10), norms are omitted for the
- *             indexed field.</li>
+ *             indexed field.
  *         <li>If the sixth lowest-order bit is set (0x20), payloads are stored for the
- *             indexed field.</li>
+ *             indexed field.
  *         <li>If the seventh lowest-order bit is set (0x40), term frequencies and
- *             positions omitted for the indexed field.</li>
+ *             positions omitted for the indexed field.
  *         <li>If the eighth lowest-order bit is set (0x80), positions are omitted for the
- *             indexed field.</li>
+ *             indexed field.
  *       </ul>
  *    <li>DocValuesBits: a byte containing per-document value types. The type
  *        recorded as two four-bit integers, with the high-order bits representing
  *        <code>norms</code> options, and the low-order bits representing 
  *        {@code DocValues} options. Each four-bit integer can be decoded as such:
  *        <ul>
- *          <li>0: no DocValues for this field.</li>
- *          <li>1: NumericDocValues. ({@link DocValuesType#NUMERIC})</li>
- *          <li>2: BinaryDocValues. ({@code DocValuesType#BINARY})</li>
- *          <li>3: SortedDocValues. ({@code DocValuesType#SORTED})</li>
+ *          <li>0: no DocValues for this field.
+ *          <li>1: NumericDocValues. ({@link DocValuesType#NUMERIC})
+ *          <li>2: BinaryDocValues. ({@code DocValuesType#BINARY})
+ *          <li>3: SortedDocValues. ({@code DocValuesType#SORTED})
  *        </ul>
- *    <li>Attributes: a key-value map of codec-private attributes.</li>
+ *    <li>Attributes: a key-value map of codec-private attributes.
  * </ul>
  *
  * @lucene.experimental
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42NormsFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42NormsFormat.java
index a65fb1a81f..36251b9dca 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42NormsFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42NormsFormat.java
@@ -44,8 +44,8 @@ import org.apache.lucene.util.packed.PackedInts;
  * <p>
  * Files:
  * <ul>
- *   <li><tt>.nvd</tt>: DocValues data</li>
- *   <li><tt>.nvm</tt>: DocValues metadata</li>
+ *   <li><tt>.nvd</tt>: DocValues data
+ *   <li><tt>.nvm</tt>: DocValues metadata
  * </ul>
  * @see Lucene42DocValuesFormat
  */
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42TermVectorsFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42TermVectorsFormat.java
index 64a37a6270..481093b568 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42TermVectorsFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42TermVectorsFormat.java
@@ -67,61 +67,61 @@ import org.apache.lucene.util.packed.PackedInts;
  * {@link BlockPackedWriter blocks of packed ints} for positions.</p>
  * <p>Here is a more detailed description of the field data file format:</p>
  * <ul>
- * <li>VectorData (.tvd) --&gt; &lt;Header&gt;, PackedIntsVersion, ChunkSize, &lt;Chunk&gt;<sup>ChunkCount</sup></li>
- * <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- * <li>PackedIntsVersion --&gt; {@link PackedInts#VERSION_CURRENT} as a {@link DataOutput#writeVInt VInt}</li>
- * <li>ChunkSize is the number of bytes of terms to accumulate before flushing, as a {@link DataOutput#writeVInt VInt}</li>
- * <li>ChunkCount is not known in advance and is the number of chunks necessary to store all document of the segment</li>
+ * <li>VectorData (.tvd) --&gt; &lt;Header&gt;, PackedIntsVersion, ChunkSize, &lt;Chunk&gt;<sup>ChunkCount</sup>
+ * <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ * <li>PackedIntsVersion --&gt; {@link PackedInts#VERSION_CURRENT} as a {@link DataOutput#writeVInt VInt}
+ * <li>ChunkSize is the number of bytes of terms to accumulate before flushing, as a {@link DataOutput#writeVInt VInt}
+ * <li>ChunkCount is not known in advance and is the number of chunks necessary to store all document of the segment
  * <li>Chunk --&gt; DocBase, ChunkDocs, &lt; NumFields &gt;, &lt; FieldNums &gt;, &lt; FieldNumOffs &gt;, &lt; Flags &gt;,
  * &lt; NumTerms &gt;, &lt; TermLengths &gt;, &lt; TermFreqs &gt;, &lt; Positions &gt;, &lt; StartOffsets &gt;, &lt; Lengths &gt;,
- * &lt; PayloadLengths &gt;, &lt; TermAndPayloads &gt;</li>
- * <li>DocBase is the ID of the first doc of the chunk as a {@link DataOutput#writeVInt VInt}</li>
- * <li>ChunkDocs is the number of documents in the chunk</li>
- * <li>NumFields --&gt; DocNumFields<sup>ChunkDocs</sup></li>
- * <li>DocNumFields is the number of fields for each doc, written as a {@link DataOutput#writeVInt VInt} if ChunkDocs==1 and as a {@link PackedInts} array otherwise</li>
- * <li>FieldNums --&gt; FieldNumDelta<sup>TotalDistincFields</sup>, a delta-encoded list of the sorted unique field numbers present in the chunk</li>
- * <li>FieldNumOffs --&gt; FieldNumOff<sup>TotalFields</sup>, as a {@link PackedInts} array</li>
- * <li>FieldNumOff is the offset of the field number in FieldNums</li>
- * <li>TotalFields is the total number of fields (sum of the values of NumFields)</li>
- * <li>Flags --&gt; Bit &lt; FieldFlags &gt;</li>
- * <li>Bit  is a single bit which when true means that fields have the same options for every document in the chunk</li>
- * <li>FieldFlags --&gt; if Bit==1: Flag<sup>TotalDistinctFields</sup> else Flag<sup>TotalFields</sup></li>
+ * &lt; PayloadLengths &gt;, &lt; TermAndPayloads &gt;
+ * <li>DocBase is the ID of the first doc of the chunk as a {@link DataOutput#writeVInt VInt}
+ * <li>ChunkDocs is the number of documents in the chunk
+ * <li>NumFields --&gt; DocNumFields<sup>ChunkDocs</sup>
+ * <li>DocNumFields is the number of fields for each doc, written as a {@link DataOutput#writeVInt VInt} if ChunkDocs==1 and as a {@link PackedInts} array otherwise
+ * <li>FieldNums --&gt; FieldNumDelta<sup>TotalDistincFields</sup>, a delta-encoded list of the sorted unique field numbers present in the chunk
+ * <li>FieldNumOffs --&gt; FieldNumOff<sup>TotalFields</sup>, as a {@link PackedInts} array
+ * <li>FieldNumOff is the offset of the field number in FieldNums
+ * <li>TotalFields is the total number of fields (sum of the values of NumFields)
+ * <li>Flags --&gt; Bit &lt; FieldFlags &gt;
+ * <li>Bit  is a single bit which when true means that fields have the same options for every document in the chunk
+ * <li>FieldFlags --&gt; if Bit==1: Flag<sup>TotalDistinctFields</sup> else Flag<sup>TotalFields</sup>
  * <li>Flag: a 3-bits int where:<ul>
- * <li>the first bit means that the field has positions</li>
- * <li>the second bit means that the field has offsets</li>
- * <li>the third bit means that the field has payloads</li>
- * </ul></li>
- * <li>NumTerms --&gt; FieldNumTerms<sup>TotalFields</sup></li>
- * <li>FieldNumTerms: the number of terms for each field, using {@link BlockPackedWriter blocks of 64 packed ints}</li>
- * <li>TermLengths --&gt; PrefixLength<sup>TotalTerms</sup> SuffixLength<sup>TotalTerms</sup></li>
- * <li>TotalTerms: total number of terms (sum of NumTerms)</li>
- * <li>PrefixLength: 0 for the first term of a field, the common prefix with the previous term otherwise using {@link BlockPackedWriter blocks of 64 packed ints}</li>
- * <li>SuffixLength: length of the term minus PrefixLength for every term using {@link BlockPackedWriter blocks of 64 packed ints}</li>
- * <li>TermFreqs --&gt; TermFreqMinus1<sup>TotalTerms</sup></li>
- * <li>TermFreqMinus1: (frequency - 1) for each term using  {@link BlockPackedWriter blocks of 64 packed ints}</li>
- * <li>Positions --&gt; PositionDelta<sup>TotalPositions</sup></li>
- * <li>TotalPositions is the sum of frequencies of terms of all fields that have positions</li>
- * <li>PositionDelta: the absolute position for the first position of a term, and the difference with the previous positions for following positions using {@link BlockPackedWriter blocks of 64 packed ints}</li>
- * <li>StartOffsets --&gt; (AvgCharsPerTerm<sup>TotalDistinctFields</sup>) StartOffsetDelta<sup>TotalOffsets</sup></li>
- * <li>TotalOffsets is the sum of frequencies of terms of all fields that have offsets</li>
- * <li>AvgCharsPerTerm: average number of chars per term, encoded as a float on 4 bytes. They are not present if no field has both positions and offsets enabled.</li>
- * <li>StartOffsetDelta: (startOffset - previousStartOffset - AvgCharsPerTerm * PositionDelta). previousStartOffset is 0 for the first offset and AvgCharsPerTerm is 0 if the field has no positions using  {@link BlockPackedWriter blocks of 64 packed ints}</li>
- * <li>Lengths --&gt; LengthMinusTermLength<sup>TotalOffsets</sup></li>
- * <li>LengthMinusTermLength: (endOffset - startOffset - termLength) using  {@link BlockPackedWriter blocks of 64 packed ints}</li>
- * <li>PayloadLengths --&gt; PayloadLength<sup>TotalPayloads</sup></li>
- * <li>TotalPayloads is the sum of frequencies of terms of all fields that have payloads</li>
- * <li>PayloadLength is the payload length encoded using  {@link BlockPackedWriter blocks of 64 packed ints}</li>
- * <li>TermAndPayloads --&gt; LZ4-compressed representation of &lt; FieldTermsAndPayLoads &gt;<sup>TotalFields</sup></li>
- * <li>FieldTermsAndPayLoads --&gt; Terms (Payloads)</li>
- * <li>Terms: term bytes</li>
- * <li>Payloads: payload bytes (if the field has payloads)</li>
+ * <li>the first bit means that the field has positions
+ * <li>the second bit means that the field has offsets
+ * <li>the third bit means that the field has payloads
+ * </ul>
+ * <li>NumTerms --&gt; FieldNumTerms<sup>TotalFields</sup>
+ * <li>FieldNumTerms: the number of terms for each field, using {@link BlockPackedWriter blocks of 64 packed ints}
+ * <li>TermLengths --&gt; PrefixLength<sup>TotalTerms</sup> SuffixLength<sup>TotalTerms</sup>
+ * <li>TotalTerms: total number of terms (sum of NumTerms)
+ * <li>PrefixLength: 0 for the first term of a field, the common prefix with the previous term otherwise using {@link BlockPackedWriter blocks of 64 packed ints}
+ * <li>SuffixLength: length of the term minus PrefixLength for every term using {@link BlockPackedWriter blocks of 64 packed ints}
+ * <li>TermFreqs --&gt; TermFreqMinus1<sup>TotalTerms</sup>
+ * <li>TermFreqMinus1: (frequency - 1) for each term using  {@link BlockPackedWriter blocks of 64 packed ints}
+ * <li>Positions --&gt; PositionDelta<sup>TotalPositions</sup>
+ * <li>TotalPositions is the sum of frequencies of terms of all fields that have positions
+ * <li>PositionDelta: the absolute position for the first position of a term, and the difference with the previous positions for following positions using {@link BlockPackedWriter blocks of 64 packed ints}
+ * <li>StartOffsets --&gt; (AvgCharsPerTerm<sup>TotalDistinctFields</sup>) StartOffsetDelta<sup>TotalOffsets</sup>
+ * <li>TotalOffsets is the sum of frequencies of terms of all fields that have offsets
+ * <li>AvgCharsPerTerm: average number of chars per term, encoded as a float on 4 bytes. They are not present if no field has both positions and offsets enabled.
+ * <li>StartOffsetDelta: (startOffset - previousStartOffset - AvgCharsPerTerm * PositionDelta). previousStartOffset is 0 for the first offset and AvgCharsPerTerm is 0 if the field has no positions using  {@link BlockPackedWriter blocks of 64 packed ints}
+ * <li>Lengths --&gt; LengthMinusTermLength<sup>TotalOffsets</sup>
+ * <li>LengthMinusTermLength: (endOffset - startOffset - termLength) using  {@link BlockPackedWriter blocks of 64 packed ints}
+ * <li>PayloadLengths --&gt; PayloadLength<sup>TotalPayloads</sup>
+ * <li>TotalPayloads is the sum of frequencies of terms of all fields that have payloads
+ * <li>PayloadLength is the payload length encoded using  {@link BlockPackedWriter blocks of 64 packed ints}
+ * <li>TermAndPayloads --&gt; LZ4-compressed representation of &lt; FieldTermsAndPayLoads &gt;<sup>TotalFields</sup>
+ * <li>FieldTermsAndPayLoads --&gt; Terms (Payloads)
+ * <li>Terms: term bytes
+ * <li>Payloads: payload bytes (if the field has payloads)
  * </ul>
  * <li><a name="vector_index" id="vector_index"></a>
  * <p>An index file (extension <tt>.tvx</tt>).</p>
  * <ul>
- * <li>VectorIndex (.tvx) --&gt; &lt;Header&gt;, &lt;ChunkIndex&gt;</li>
- * <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- * <li>ChunkIndex: See {@link CompressingStoredFieldsIndexWriter}</li>
+ * <li>VectorIndex (.tvx) --&gt; &lt;Header&gt;, &lt;ChunkIndex&gt;
+ * <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ * <li>ChunkIndex: See {@link CompressingStoredFieldsIndexWriter}
  * </ul>
  * </ol>
  * @lucene.experimental
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesFormat.java
index 5079c3989e..0340bb25ad 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesFormat.java
@@ -89,8 +89,8 @@ import org.apache.lucene.util.packed.PackedInts;
  * <p>
  * Files:
  * <ol>
- *   <li><tt>.dvd</tt>: DocValues data</li>
- *   <li><tt>.dvm</tt>: DocValues metadata</li>
+ *   <li><tt>.dvd</tt>: DocValues data
+ *   <li><tt>.dvm</tt>: DocValues metadata
  * </ol>
  * <ol>
  *   <li><a name="dvm" id="dvm"></a>
@@ -99,24 +99,24 @@ import org.apache.lucene.util.packed.PackedInts;
  *      DocValues data (.dvd)</p>
  *   <p>DocValues metadata (.dvm) --&gt; Header,&lt;Entry&gt;<sup>NumFields</sup></p>
  *   <ul>
- *     <li>Entry --&gt; NumericEntry | BinaryEntry | SortedEntry | SortedSetEntry</li>
- *     <li>NumericEntry --&gt; GCDNumericEntry | TableNumericEntry | DeltaNumericEntry</li>
- *     <li>GCDNumericEntry --&gt; NumericHeader,MinValue,GCD</li>
- *     <li>TableNumericEntry --&gt; NumericHeader,TableSize,{@link DataOutput#writeLong Int64}<sup>TableSize</sup></li>
- *     <li>DeltaNumericEntry --&gt; NumericHeader</li>
- *     <li>NumericHeader --&gt; FieldNumber,EntryType,NumericType,MissingOffset,PackedVersion,DataOffset,Count,BlockSize</li>
- *     <li>BinaryEntry --&gt; FixedBinaryEntry | VariableBinaryEntry | PrefixBinaryEntry</li>
- *     <li>FixedBinaryEntry --&gt; BinaryHeader</li>
- *     <li>VariableBinaryEntry --&gt; BinaryHeader,AddressOffset,PackedVersion,BlockSize</li>
- *     <li>PrefixBinaryEntry --&gt; BinaryHeader,AddressInterval,AddressOffset,PackedVersion,BlockSize</li>
- *     <li>BinaryHeader --&gt; FieldNumber,EntryType,BinaryType,MissingOffset,MinLength,MaxLength,DataOffset</li>
- *     <li>SortedEntry --&gt; FieldNumber,EntryType,BinaryEntry,NumericEntry</li>
- *     <li>SortedSetEntry --&gt; EntryType,BinaryEntry,NumericEntry,NumericEntry</li>
- *     <li>FieldNumber,PackedVersion,MinLength,MaxLength,BlockSize,ValueCount --&gt; {@link DataOutput#writeVInt VInt}</li>
- *     <li>EntryType,CompressionType --&gt; {@link DataOutput#writeByte Byte}</li>
- *     <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- *     <li>MinValue,GCD,MissingOffset,AddressOffset,DataOffset --&gt; {@link DataOutput#writeLong Int64}</li>
- *     <li>TableSize --&gt; {@link DataOutput#writeVInt vInt}</li>
+ *     <li>Entry --&gt; NumericEntry | BinaryEntry | SortedEntry | SortedSetEntry
+ *     <li>NumericEntry --&gt; GCDNumericEntry | TableNumericEntry | DeltaNumericEntry
+ *     <li>GCDNumericEntry --&gt; NumericHeader,MinValue,GCD
+ *     <li>TableNumericEntry --&gt; NumericHeader,TableSize,{@link DataOutput#writeLong Int64}<sup>TableSize</sup>
+ *     <li>DeltaNumericEntry --&gt; NumericHeader
+ *     <li>NumericHeader --&gt; FieldNumber,EntryType,NumericType,MissingOffset,PackedVersion,DataOffset,Count,BlockSize
+ *     <li>BinaryEntry --&gt; FixedBinaryEntry | VariableBinaryEntry | PrefixBinaryEntry
+ *     <li>FixedBinaryEntry --&gt; BinaryHeader
+ *     <li>VariableBinaryEntry --&gt; BinaryHeader,AddressOffset,PackedVersion,BlockSize
+ *     <li>PrefixBinaryEntry --&gt; BinaryHeader,AddressInterval,AddressOffset,PackedVersion,BlockSize
+ *     <li>BinaryHeader --&gt; FieldNumber,EntryType,BinaryType,MissingOffset,MinLength,MaxLength,DataOffset
+ *     <li>SortedEntry --&gt; FieldNumber,EntryType,BinaryEntry,NumericEntry
+ *     <li>SortedSetEntry --&gt; EntryType,BinaryEntry,NumericEntry,NumericEntry
+ *     <li>FieldNumber,PackedVersion,MinLength,MaxLength,BlockSize,ValueCount --&gt; {@link DataOutput#writeVInt VInt}
+ *     <li>EntryType,CompressionType --&gt; {@link DataOutput#writeByte Byte}
+ *     <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ *     <li>MinValue,GCD,MissingOffset,AddressOffset,DataOffset --&gt; {@link DataOutput#writeLong Int64}
+ *     <li>TableSize --&gt; {@link DataOutput#writeVInt vInt}
  *   </ul>
  *   <p>Sorted fields have two entries: a BinaryEntry with the value metadata,
  *      and an ordinary NumericEntry for the document-to-ord metadata.</p>
@@ -151,13 +151,13 @@ import org.apache.lucene.util.packed.PackedInts;
  *   <p>For DocValues field, this stores the actual per-document data (the heavy-lifting)</p>
  *   <p>DocValues data (.dvd) --&gt; Header,&lt;NumericData | BinaryData | SortedData&gt;<sup>NumFields</sup></p>
  *   <ul>
- *     <li>NumericData --&gt; DeltaCompressedNumerics | TableCompressedNumerics | GCDCompressedNumerics</li>
- *     <li>BinaryData --&gt;  {@link DataOutput#writeByte Byte}<sup>DataLength</sup>,Addresses</li>
- *     <li>SortedData --&gt; {@link FST FST&lt;Int64&gt;}</li>
- *     <li>DeltaCompressedNumerics --&gt; {@link BlockPackedWriter BlockPackedInts(blockSize=16k)}</li>
- *     <li>TableCompressedNumerics --&gt; {@link PackedInts PackedInts}</li>
- *     <li>GCDCompressedNumerics --&gt; {@link BlockPackedWriter BlockPackedInts(blockSize=16k)}</li>
- *     <li>Addresses --&gt; {@link MonotonicBlockPackedWriter MonotonicBlockPackedInts(blockSize=16k)}</li>
+ *     <li>NumericData --&gt; DeltaCompressedNumerics | TableCompressedNumerics | GCDCompressedNumerics
+ *     <li>BinaryData --&gt;  {@link DataOutput#writeByte Byte}<sup>DataLength</sup>,Addresses
+ *     <li>SortedData --&gt; {@link FST FST&lt;Int64&gt;}
+ *     <li>DeltaCompressedNumerics --&gt; {@link BlockPackedWriter BlockPackedInts(blockSize=16k)}
+ *     <li>TableCompressedNumerics --&gt; {@link PackedInts PackedInts}
+ *     <li>GCDCompressedNumerics --&gt; {@link BlockPackedWriter BlockPackedInts(blockSize=16k)}
+ *     <li>Addresses --&gt; {@link MonotonicBlockPackedWriter MonotonicBlockPackedInts(blockSize=16k)}
  *   </ul>
  *   <p>SortedSet entries store the list of ordinals in their BinaryData as a
  *      sequences of increasing {@link DataOutput#writeVLong vLong}s, delta-encoded.</p>
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosFormat.java
index 57bbf53f96..031d3c0754 100755
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene46/Lucene46FieldInfosFormat.java
@@ -43,53 +43,53 @@ import org.apache.lucene.store.DataOutput;
  * FieldBits,DocValuesBits,DocValuesGen,Attributes&gt; <sup>FieldsCount</sup></p>
  * <p>Data types:
  * <ul>
- *   <li>Header --&gt; {@link CodecUtil#checkHeader CodecHeader}</li>
- *   <li>FieldsCount --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>FieldName --&gt; {@link DataOutput#writeString String}</li>
- *   <li>FieldBits, DocValuesBits --&gt; {@link DataOutput#writeByte Byte}</li>
- *   <li>FieldNumber --&gt; {@link DataOutput#writeInt VInt}</li>
- *   <li>Attributes --&gt; {@link DataOutput#writeStringStringMap Map&lt;String,String&gt;}</li>
- *   <li>DocValuesGen --&gt; {@link DataOutput#writeLong(long) Int64}</li>
+ *   <li>Header --&gt; {@link CodecUtil#checkHeader CodecHeader}
+ *   <li>FieldsCount --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>FieldName --&gt; {@link DataOutput#writeString String}
+ *   <li>FieldBits, DocValuesBits --&gt; {@link DataOutput#writeByte Byte}
+ *   <li>FieldNumber --&gt; {@link DataOutput#writeInt VInt}
+ *   <li>Attributes --&gt; {@link DataOutput#writeStringStringMap Map&lt;String,String&gt;}
+ *   <li>DocValuesGen --&gt; {@link DataOutput#writeLong(long) Int64}
  * </ul>
  * Field Descriptions:
  * <ul>
- *   <li>FieldsCount: the number of fields in this file.</li>
- *   <li>FieldName: name of the field as a UTF-8 String.</li>
+ *   <li>FieldsCount: the number of fields in this file.
+ *   <li>FieldName: name of the field as a UTF-8 String.
  *   <li>FieldNumber: the field's number. Note that unlike previous versions of
  *       Lucene, the fields are not numbered implicitly by their order in the
- *       file, instead explicitly.</li>
+ *       file, instead explicitly.
  *   <li>FieldBits: a byte containing field options.
  *       <ul>
  *         <li>The low-order bit is one for indexed fields, and zero for non-indexed
- *             fields.</li>
+ *             fields.
  *         <li>The second lowest-order bit is one for fields that have term vectors
- *             stored, and zero for fields without term vectors.</li>
+ *             stored, and zero for fields without term vectors.
  *         <li>If the third lowest order-bit is set (0x4), offsets are stored into
- *             the postings list in addition to positions.</li>
- *         <li>Fourth bit is unused.</li>
+ *             the postings list in addition to positions.
+ *         <li>Fourth bit is unused.
  *         <li>If the fifth lowest-order bit is set (0x10), norms are omitted for the
- *             indexed field.</li>
+ *             indexed field.
  *         <li>If the sixth lowest-order bit is set (0x20), payloads are stored for the
- *             indexed field.</li>
+ *             indexed field.
  *         <li>If the seventh lowest-order bit is set (0x40), term frequencies and
- *             positions omitted for the indexed field.</li>
+ *             positions omitted for the indexed field.
  *         <li>If the eighth lowest-order bit is set (0x80), positions are omitted for the
- *             indexed field.</li>
+ *             indexed field.
  *       </ul>
  *    <li>DocValuesBits: a byte containing per-document value types. The type
  *        recorded as two four-bit integers, with the high-order bits representing
  *        <code>norms</code> options, and the low-order bits representing 
  *        {@code DocValues} options. Each four-bit integer can be decoded as such:
  *        <ul>
- *          <li>0: no DocValues for this field.</li>
- *          <li>1: NumericDocValues. ({@link DocValuesType#NUMERIC})</li>
- *          <li>2: BinaryDocValues. ({@code DocValuesType#BINARY})</li>
- *          <li>3: SortedDocValues. ({@code DocValuesType#SORTED})</li>
+ *          <li>0: no DocValues for this field.
+ *          <li>1: NumericDocValues. ({@link DocValuesType#NUMERIC})
+ *          <li>2: BinaryDocValues. ({@code DocValuesType#BINARY})
+ *          <li>3: SortedDocValues. ({@code DocValuesType#SORTED})
  *        </ul>
  *    <li>DocValuesGen is the generation count of the field's DocValues. If this is -1,
  *        there are no DocValues updates to that field. Anything above zero means there 
- *        are updates stored by {@link DocValuesFormat}.</li>
- *    <li>Attributes: a key-value map of codec-private attributes.</li>
+ *        are updates stored by {@link DocValuesFormat}.
+ *    <li>Attributes: a key-value map of codec-private attributes.
  * </ul>
  *
  * @lucene.experimental
diff --git a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene46/Lucene46SegmentInfoFormat.java b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene46/Lucene46SegmentInfoFormat.java
index 2d034adf0a..1fd20aa169 100755
--- a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene46/Lucene46SegmentInfoFormat.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene46/Lucene46SegmentInfoFormat.java
@@ -44,29 +44,29 @@ import org.apache.lucene.store.DataOutput; // javadocs
  * Data types:
  * <p>
  * <ul>
- *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- *   <li>SegSize --&gt; {@link DataOutput#writeInt Int32}</li>
- *   <li>SegVersion --&gt; {@link DataOutput#writeString String}</li>
- *   <li>Files --&gt; {@link DataOutput#writeStringSet Set&lt;String&gt;}</li>
- *   <li>Diagnostics --&gt; {@link DataOutput#writeStringStringMap Map&lt;String,String&gt;}</li>
- *   <li>IsCompoundFile --&gt; {@link DataOutput#writeByte Int8}</li>
+ *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ *   <li>SegSize --&gt; {@link DataOutput#writeInt Int32}
+ *   <li>SegVersion --&gt; {@link DataOutput#writeString String}
+ *   <li>Files --&gt; {@link DataOutput#writeStringSet Set&lt;String&gt;}
+ *   <li>Diagnostics --&gt; {@link DataOutput#writeStringStringMap Map&lt;String,String&gt;}
+ *   <li>IsCompoundFile --&gt; {@link DataOutput#writeByte Int8}
  * </ul>
  * Field Descriptions:
  * <p>
  * <ul>
- *   <li>SegVersion is the code version that created the segment.</li>
- *   <li>SegSize is the number of documents contained in the segment index.</li>
+ *   <li>SegVersion is the code version that created the segment.
+ *   <li>SegSize is the number of documents contained in the segment index.
  *   <li>IsCompoundFile records whether the segment is written as a compound file or
  *       not. If this is -1, the segment is not a compound file. If it is 1, the segment
- *       is a compound file.</li>
+ *       is a compound file.
  *   <li>Checksum contains the CRC32 checksum of all bytes in the segments_N file up
  *       until the checksum. This is used to verify integrity of the file on opening the
- *       index.</li>
+ *       index.
  *   <li>The Diagnostics Map is privately written by {@link IndexWriter}, as a debugging aid,
  *       for each segment it creates. It includes metadata like the current Lucene
  *       version, OS, Java version, why the segment was created (merge, flush,
- *       addIndexes), etc.</li>
- *   <li>Files is a list of files referred to by this segment.</li>
+ *       addIndexes), etc.
+ *   <li>Files is a list of files referred to by this segment.
  * </ul>
  * 
  * @see SegmentInfos
diff --git a/oak-lucene/src/main/java/org/apache/lucene/index/DocumentsWriterDeleteQueue.java b/oak-lucene/src/main/java/org/apache/lucene/index/DocumentsWriterDeleteQueue.java
index 2e323e5221..1d5e762560 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/index/DocumentsWriterDeleteQueue.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/index/DocumentsWriterDeleteQueue.java
@@ -56,13 +56,13 @@ import org.apache.lucene.search.Query;
  * DWPT updates a document it:
  * 
  * <ol>
- * <li>consumes a document and finishes its processing</li>
+ * <li>consumes a document and finishes its processing
  * <li>updates its private {@link DeleteSlice} either by calling
  * {@link #updateSlice(DeleteSlice)} or {@link #add(Term, DeleteSlice)} (if the
- * document has a delTerm)</li>
+ * document has a delTerm)
  * <li>applies all deletes in the slice to its private {@link BufferedUpdates}
- * and resets it</li>
- * <li>increments its internal document id</li>
+ * and resets it
+ * <li>increments its internal document id
  * </ol>
  * 
  * The DWPT also doesn't apply its current documents delete term until it has
diff --git a/oak-lucene/src/main/java/org/apache/lucene/index/FlushByRamOrCountsPolicy.java b/oak-lucene/src/main/java/org/apache/lucene/index/FlushByRamOrCountsPolicy.java
index 755f489bbe..5d4777b6ac 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/index/FlushByRamOrCountsPolicy.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/index/FlushByRamOrCountsPolicy.java
@@ -38,7 +38,7 @@ import org.apache.lucene.index.DocumentsWriterPerThreadPool.ThreadState;
  * {@link #onDelete(DocumentsWriterFlushControl, DocumentsWriterPerThreadPool.ThreadState)}
  * - applies pending delete operations based on the global number of buffered
  * delete terms iff {@link IndexWriterConfig#getMaxBufferedDeleteTerms()} is
- * enabled</li>
+ * enabled
  * <li>
  * {@link #onInsert(DocumentsWriterFlushControl, DocumentsWriterPerThreadPool.ThreadState)}
  * - flushes either on the number of documents per
@@ -46,14 +46,14 @@ import org.apache.lucene.index.DocumentsWriterPerThreadPool.ThreadState;
  * {@link DocumentsWriterPerThread#getNumDocsInRAM()}) or on the global active
  * memory consumption in the current indexing session iff
  * {@link IndexWriterConfig#getMaxBufferedDocs()} or
- * {@link IndexWriterConfig#getRAMBufferSizeMB()} is enabled respectively</li>
+ * {@link IndexWriterConfig#getRAMBufferSizeMB()} is enabled respectively
  * <li>
  * {@link #onUpdate(DocumentsWriterFlushControl, DocumentsWriterPerThreadPool.ThreadState)}
  * - calls
  * {@link #onInsert(DocumentsWriterFlushControl, DocumentsWriterPerThreadPool.ThreadState)}
  * and
  * {@link #onDelete(DocumentsWriterFlushControl, DocumentsWriterPerThreadPool.ThreadState)}
- * in order</li>
+ * in order
  * </ul>
  * All {@link IndexWriterConfig} settings are used to mark
  * {@link DocumentsWriterPerThread} as flush pending during indexing with
diff --git a/oak-lucene/src/main/java/org/apache/lucene/index/FlushPolicy.java b/oak-lucene/src/main/java/org/apache/lucene/index/FlushPolicy.java
index f4cb9a4a02..adb98b7fc8 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/index/FlushPolicy.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/index/FlushPolicy.java
@@ -38,9 +38,9 @@ import org.apache.lucene.util.SetOnce;
  * Segments are traditionally flushed by:
  * <ul>
  * <li>RAM consumption - configured via
- * {@link IndexWriterConfig#setRAMBufferSizeMB(double)}</li>
+ * {@link IndexWriterConfig#setRAMBufferSizeMB(double)}
  * <li>Number of RAM resident documents - configured via
- * {@link IndexWriterConfig#setMaxBufferedDocs(int)}</li>
+ * {@link IndexWriterConfig#setMaxBufferedDocs(int)}
  * </ul>
  * The policy also applies pending delete operations (by term and/or query),
  * given the threshold set in
diff --git a/oak-lucene/src/main/java/org/apache/lucene/index/SegmentInfos.java b/oak-lucene/src/main/java/org/apache/lucene/index/SegmentInfos.java
index 93a1a791ee..0b8ff2f010 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/index/SegmentInfos.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/index/SegmentInfos.java
@@ -88,37 +88,37 @@ import org.apache.lucene.util.StringHelper;
  * Data types:
  * <p>
  * <ul>
- *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- *   <li>GenHeader, NameCounter, SegCount, DeletionCount --&gt; {@link DataOutput#writeInt Int32}</li>
- *   <li>Generation, Version, DelGen, Checksum, FieldInfosGen --&gt; {@link DataOutput#writeLong Int64}</li>
- *   <li>SegName, SegCodec --&gt; {@link DataOutput#writeString String}</li>
- *   <li>CommitUserData --&gt; {@link DataOutput#writeStringStringMap Map&lt;String,String&gt;}</li>
- *   <li>UpdatesFiles --&gt; {@link DataOutput#writeStringSet(Set) Set&lt;String&gt;}</li>
+ *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ *   <li>GenHeader, NameCounter, SegCount, DeletionCount --&gt; {@link DataOutput#writeInt Int32}
+ *   <li>Generation, Version, DelGen, Checksum, FieldInfosGen --&gt; {@link DataOutput#writeLong Int64}
+ *   <li>SegName, SegCodec --&gt; {@link DataOutput#writeString String}
+ *   <li>CommitUserData --&gt; {@link DataOutput#writeStringStringMap Map&lt;String,String&gt;}
+ *   <li>UpdatesFiles --&gt; {@link DataOutput#writeStringSet(Set) Set&lt;String&gt;}
  * </ul>
  * Field Descriptions:
  * <p>
  * <ul>
  *   <li>Version counts how often the index has been changed by adding or deleting
- *       documents.</li>
- *   <li>NameCounter is used to generate names for new segment files.</li>
+ *       documents.
+ *   <li>NameCounter is used to generate names for new segment files.
  *   <li>SegName is the name of the segment, and is used as the file name prefix for
- *       all of the files that compose the segment's index.</li>
+ *       all of the files that compose the segment's index.
  *   <li>DelGen is the generation count of the deletes file. If this is -1,
  *       there are no deletes. Anything above zero means there are deletes 
- *       stored by {@link LiveDocsFormat}.</li>
- *   <li>DeletionCount records the number of deleted documents in this segment.</li>
+ *       stored by {@link LiveDocsFormat}.
+ *   <li>DeletionCount records the number of deleted documents in this segment.
  *   <li>Checksum contains the CRC32 checksum of all bytes in the segments_N file up
  *       until the checksum. This is used to verify integrity of the file on opening the
- *       index.</li>
+ *       index.
  *   <li>SegCodec is the {@link Codec#getName() name} of the Codec that encoded
- *       this segment.</li>
+ *       this segment.
  *   <li>CommitUserData stores an optional user-supplied opaque
  *       Map&lt;String,String&gt; that was passed to 
- *       {@link IndexWriter#setCommitData(java.util.Map)}.</li>
+ *       {@link IndexWriter#setCommitData(java.util.Map)}.
  *   <li>FieldInfosGen is the generation count of the fieldInfos file. If this is -1,
  *       there are no updates to the fieldInfos in that segment. Anything above zero 
- *       means there are updates to fieldInfos stored by {@link FieldInfosFormat}.</li>
- *   <li>UpdatesFiles stores the list of files that were updated in that segment.</li>
+ *       means there are updates to fieldInfos stored by {@link FieldInfosFormat}.
+ *   <li>UpdatesFiles stores the list of files that were updated in that segment.
  * </ul>
  * 
  * @lucene.experimental
diff --git a/oak-lucene/src/main/java/org/apache/lucene/search/Collector.java b/oak-lucene/src/main/java/org/apache/lucene/search/Collector.java
index c108799506..8a8caaddb8 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/search/Collector.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/search/Collector.java
@@ -45,14 +45,14 @@ import org.apache.lucene.index.IndexReaderContext;
  *   <li>{@link TopDocsCollector} is an abstract base class
  *   that assumes you will retrieve the top N docs,
  *   according to some criteria, after collection is
- *   done.  </li>
+ *   done.  
  *
  *   <li>{@link TopScoreDocCollector} is a concrete subclass
  *   {@link TopDocsCollector} and sorts according to score +
  *   docID.  This is used internally by the {@link
  *   IndexSearcher} search methods that do not take an
  *   explicit {@link Sort}. It is likely the most frequently
- *   used collector.</li>
+ *   used collector.
  *
  *   <li>{@link TopFieldCollector} subclasses {@link
  *   TopDocsCollector} and sorts according to a specified
@@ -62,11 +62,11 @@ import org.apache.lucene.index.IndexReaderContext;
  *
  *   <li>{@link TimeLimitingCollector}, which wraps any other
  *   Collector and aborts the search if it's taken too much
- *   time.</li>
+ *   time.
  *
  *   <li>{@link PositiveScoresOnlyCollector} wraps any other
  *   Collector and prevents collection of hits whose score
- *   is &lt;= 0.0</li>
+ *   is &lt;= 0.0
  *
  * </ul>
  *
diff --git a/oak-lucene/src/main/java/org/apache/lucene/search/similarities/IBSimilarity.java b/oak-lucene/src/main/java/org/apache/lucene/search/similarities/IBSimilarity.java
index 9de818166d..8ff6430bb0 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/search/similarities/IBSimilarity.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/search/similarities/IBSimilarity.java
@@ -38,11 +38,11 @@ import org.apache.lucene.search.similarities.Normalization.NoNormalization;
  * -x<sup>q</sup><sub>w</sub> log Prob(X<sub>w</sub> &ge;
  * t<sup>d</sup><sub>w</sub> | &lambda;<sub>w</sub>)</em>, where
  * <ul>
- *   <li><em>x<sup>q</sup><sub>w</sub></em> is the query boost;</li>
+ *   <li><em>x<sup>q</sup><sub>w</sub></em> is the query boost;
  *   <li><em>X<sub>w</sub></em> is a random variable that counts the occurrences
- *   of word <em>w</em>;</li>
- *   <li><em>t<sup>d</sup><sub>w</sub></em> is the normalized term frequency;</li>
- *   <li><em>&lambda;<sub>w</sub></em> is a parameter.</li>
+ *   of word <em>w</em>;
+ *   <li><em>t<sup>d</sup><sub>w</sub></em> is the normalized term frequency;
+ *   <li><em>&lambda;<sub>w</sub></em> is a parameter.
  * </ul>
  * <p>The framework described in the paper has many similarities to the DFR
  * framework (see {@link DFRSimilarity}). It is possible that the two
@@ -53,16 +53,16 @@ import org.apache.lucene.search.similarities.Normalization.NoNormalization;
  *     <li>{@link Distribution}: Probabilistic distribution used to
  *         model term occurrence
  *         <ul>
- *             <li>{@link DistributionLL}: Log-logistic</li>
- *             <li>{@link DistributionLL}: Smoothed power-law</li>
+ *             <li>{@link DistributionLL}: Log-logistic
+ *             <li>{@link DistributionLL}: Smoothed power-law
  *         </ul>
  *     <li>{@link Lambda}: &lambda;<sub>w</sub> parameter of the
  *         probability distribution
  *         <ul>
  *             <li>{@link LambdaDF}: <code>N<sub>w</sub>/N</code> or average
- *                 number of documents where w occurs</li>
+ *                 number of documents where w occurs
  *             <li>{@link LambdaTTF}: <code>F<sub>w</sub>/N</code> or
- *                 average number of occurrences of w in the collection</li>
+ *                 average number of occurrences of w in the collection
  *         </ul>
  *     <li>{@link Normalization}: Term frequency normalization 
  *         <blockquote>Any supported DFR normalization (listed in
diff --git a/oak-lucene/src/main/java/org/apache/lucene/search/similarities/LMSimilarity.java b/oak-lucene/src/main/java/org/apache/lucene/search/similarities/LMSimilarity.java
index 65e02229c1..8de95b3981 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/search/similarities/LMSimilarity.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/search/similarities/LMSimilarity.java
@@ -36,12 +36,12 @@ import org.apache.lucene.search.TermStatistics;
  * types are introduced:
  * <ul>
  *   <li>{@link LMStats}, which defines a new statistic, the probability that
- *   the collection language model generates the current term;</li>
+ *   the collection language model generates the current term;
  *   <li>{@link CollectionModel}, which is a strategy interface for object that
- *   compute the collection language model {@code p(w|C)};</li>
+ *   compute the collection language model {@code p(w|C)};
  *   <li>{@link DefaultCollectionModel}, an implementation of the former, that
  *   computes the term probability as the number of occurrences of the term in the
- *   collection, divided by the total number of tokens.</li>
+ *   collection, divided by the total number of tokens.
  * </ul> 
  * 
  * @lucene.experimental
diff --git a/oak-lucene/src/main/java/org/apache/lucene/store/CompoundFileDirectory.java b/oak-lucene/src/main/java/org/apache/lucene/store/CompoundFileDirectory.java
index 455548131c..ef5042005b 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/store/CompoundFileDirectory.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/store/CompoundFileDirectory.java
@@ -60,14 +60,14 @@ import java.io.IOException;
  * </ul>
  * <p>Description:</p>
  * <ul>
- *   <li>Compound (.cfs) --&gt; Header, FileData <sup>FileCount</sup></li>
+ *   <li>Compound (.cfs) --&gt; Header, FileData <sup>FileCount</sup>
  *   <li>Compound Entry Table (.cfe) --&gt; Header, FileCount, &lt;FileName,
- *       DataOffset, DataLength&gt; <sup>FileCount</sup></li>
- *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}</li>
- *   <li>FileCount --&gt; {@link DataOutput#writeVInt VInt}</li>
- *   <li>DataOffset,DataLength --&gt; {@link DataOutput#writeLong UInt64}</li>
- *   <li>FileName --&gt; {@link DataOutput#writeString String}</li>
- *   <li>FileData --&gt; raw file data</li>
+ *       DataOffset, DataLength&gt; <sup>FileCount</sup>
+ *   <li>Header --&gt; {@link CodecUtil#writeHeader CodecHeader}
+ *   <li>FileCount --&gt; {@link DataOutput#writeVInt VInt}
+ *   <li>DataOffset,DataLength --&gt; {@link DataOutput#writeLong UInt64}
+ *   <li>FileName --&gt; {@link DataOutput#writeString String}
+ *   <li>FileData --&gt; raw file data
  * </ul>
  * <p>Notes:</p>
  * <ul>
diff --git a/oak-lucene/src/main/java/org/apache/lucene/util/WAH8DocIdSet.java b/oak-lucene/src/main/java/org/apache/lucene/util/WAH8DocIdSet.java
index b6351a1c91..fc30b7b5f2 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/util/WAH8DocIdSet.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/util/WAH8DocIdSet.java
@@ -60,14 +60,14 @@ import org.apache.lucene.util.packed.PackedInts;
  * first bit, the number of clean words minus 2 on the next 3 bits and the
  * number of dirty words on the last 4 bits. The higher-order bit is a
  * continuation bit, meaning that the number is incomplete and needs additional
- * bytes to be read.</li>
+ * bytes to be read.
  *   <li><b>Clean length+</b>: If clean length has its higher-order bit set,
  * you need to read a {@link DataInput#readVInt() vint}, shift it by 3 bits on
- * the left side and add it to the 3 bits which have been read in the token.</li>
+ * the left side and add it to the 3 bits which have been read in the token.
  *   <li><b>Dirty length+</b> works the same way as <b>Clean length+</b> but
- * on 4 bits and for the length of dirty words.</li>
+ * on 4 bits and for the length of dirty words.
  *   <li><b>Dirty words</b> are the dirty words, there are <b>Dirty length</b>
- * of them.</li>
+ * of them.
  * </ul>
  * <p>This format cannot encode sequences of less than 2 clean words and 0 dirty
  * word. The reason is that if you find a single clean word, you should rather
diff --git a/oak-lucene/src/main/java/org/apache/lucene/util/WeakIdentityMap.java b/oak-lucene/src/main/java/org/apache/lucene/util/WeakIdentityMap.java
index 294b17da16..ea9684f58c 100644
--- a/oak-lucene/src/main/java/org/apache/lucene/util/WeakIdentityMap.java
+++ b/oak-lucene/src/main/java/org/apache/lucene/util/WeakIdentityMap.java
@@ -58,13 +58,13 @@ import java.util.concurrent.ConcurrentHashMap;
  *  <li>{@code reapOnRead = true}: This behaves identical to a {@link java.util.WeakHashMap}
  *  where it also cleans up the reference queue on every read operation ({@link #get(Object)},
  *  {@link #containsKey(Object)}, {@link #size()}, {@link #valueIterator()}), freeing map entries
- *  of already GCed keys.</li>
+ *  of already GCed keys.
  *  <li>{@code reapOnRead = false}: This mode does not call {@link #reap()} on every read
  *  operation. In this case, the reference queue is only cleaned up on write operations
  *  (like {@link #put(Object, Object)}). This is ideal for maps with few entries where
  *  the keys are unlikely be garbage collected, but there are lots of {@link #get(Object)}
  *  operations. The code can still call {@link #reap()} to manually clean up the queue without
- *  doing a write operation.</li>
+ *  doing a write operation.
  * </ul>
  *
  * @lucene.internal
diff --git a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/DefaultAheadOfTimeBlobDownloader.java b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/DefaultAheadOfTimeBlobDownloader.java
index 4876ece169..d40dc17732 100644
--- a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/DefaultAheadOfTimeBlobDownloader.java
+++ b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/DefaultAheadOfTimeBlobDownloader.java
@@ -63,8 +63,8 @@ import java.util.concurrent.atomic.LongAdder;
  * This AOT download is intended to run asynchronously with the indexing thread. It starts the following threads:
  * <ul>
  * <li>[scanner] - scans the FFS, searching for blobs to download. A blob is selected for download if it is a binary property
- * in a node whose name matches the suffix given as parameter to this class, and is non-inlined.</li>
- * <li>[downloader-n] - a configurable number of threads that download the blobs that were discovered by the scanner thread.</li>
+ * in a node whose name matches the suffix given as parameter to this class, and is non-inlined.
+ * <li>[downloader-n] - a configurable number of threads that download the blobs that were discovered by the scanner thread.
  * </ul>
  * The indexer should periodically call {@link #updateIndexed(long)} to inform the AOT downlaoder of the last line
  * indexed. This is necessary to keep the AOT downloader more or less in sync with the indexer, that is, to prevent it
diff --git a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/linkedList/PersistedLinkedListV2.java b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/linkedList/PersistedLinkedListV2.java
index b286ed677d..25e1d7d9f4 100644
--- a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/linkedList/PersistedLinkedListV2.java
+++ b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/linkedList/PersistedLinkedListV2.java
@@ -41,8 +41,8 @@ import java.util.Iterator;
  * persistent store the nodes only when the cache is full. The in-memory cache is limited by two parameters:
  *
  * <ul>
- *     <li>cacheSize: the maximum number of elements to keep in the in-memory cache</li>
- *     <li>cacheSizeMB: the maximum size of the in-memory cache in MB</li>
+ *     <li>cacheSize: the maximum number of elements to keep in the in-memory cache
+ *     <li>cacheSizeMB: the maximum size of the in-memory cache in MB
  * </ul>
  * <p>
  * The recommended configuration is to rely on the total memory usage to limit the cache, giving as much memory as
diff --git a/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexStatistics.java b/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexStatistics.java
index 7b9dc8f12b..53bd9b7cf5 100644
--- a/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexStatistics.java
+++ b/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexStatistics.java
@@ -53,9 +53,9 @@ import co.elastic.clients.elasticsearch.core.CountRequest;
  * in background when accessed after 1 minute (60 seconds). These values can be overwritten with the following system properties:
  *
  * <ul>
- *     <li>{@code oak.elastic.statsMaxSize}</li>
- *     <li>{@code oak.elastic.statsExpireSeconds}</li>
- *     <li>{@code oak.elastic.statsRefreshSeconds}</li>
+ *     <li>{@code oak.elastic.statsMaxSize}
+ *     <li>{@code oak.elastic.statsExpireSeconds}
+ *     <li>{@code oak.elastic.statsRefreshSeconds}
  * </ul>
  */
 public class ElasticIndexStatistics implements IndexStatistics {
diff --git a/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticSpellcheckIterator.java b/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticSpellcheckIterator.java
index fedc0d551c..633d6a7eef 100644
--- a/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticSpellcheckIterator.java
+++ b/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticSpellcheckIterator.java
@@ -48,8 +48,8 @@ import java.util.stream.Stream;
  * <p>
  * It requires 2 calls to Elastic:
  * <ul>
- *     <li>get all the possible spellchecked suggestions</li>
- *     <li>multi search query to get a sample of 100 results for each suggestion for ACL check</li>
+ *     <li>get all the possible spellchecked suggestions
+ *     <li>multi search query to get a sample of 100 results for each suggestion for ACL check
  * </ul>
  */
 class ElasticSpellcheckIterator implements ElasticQueryIterator {
diff --git a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/update/RefreshOnReadPolicy.java b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/update/RefreshOnReadPolicy.java
index e615845062..e8a9f73f81 100644
--- a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/update/RefreshOnReadPolicy.java
+++ b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/update/RefreshOnReadPolicy.java
@@ -37,9 +37,9 @@ import org.apache.jackrabbit.oak.stats.Clock;
  *
  * <ul>
  * <li>Upon write if refreshDelta time has elapsed then readers would be
- * refreshed</li>
+ * refreshed
  * <li>Upon read if index is found to be updated then again readers would be
- * refreshed</li>
+ * refreshed
  * </ul>
  *
  * <p>
diff --git a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeType.java b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeType.java
index 626ba364e3..694e78a49c 100644
--- a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeType.java
+++ b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeType.java
@@ -21,15 +21,15 @@ package org.apache.jackrabbit.oak.plugins.tree;
  * or primary type. Currently the following types are supported:
  *
  * <ul>
- *     <li>{@link #DEFAULT}: the default type for trees that don't match any of the following types.</li>
+ *     <li>{@link #DEFAULT}: the default type for trees that don't match any of the following types.
  *     <li>{@link #ACCESS_CONTROL}: A tree that stores access control content
- *     and requires special access {@link org.apache.jackrabbit.oak.spi.security.authorization.permission.Permissions#READ_ACCESS_CONTROL permissions}.</li>
+ *     and requires special access {@link org.apache.jackrabbit.oak.spi.security.authorization.permission.Permissions#READ_ACCESS_CONTROL permissions}.
  *     <li>{@link #HIDDEN}: a hidden tree whose name starts with ":".
- *     Please note that the whole subtree of a hidden node is considered hidden.</li>
- *     <li>{@link #INTERNAL}: repository internal content that is not hidden (e.g. permission store)</li>
+ *     Please note that the whole subtree of a hidden node is considered hidden.
+ *     <li>{@link #INTERNAL}: repository internal content that is not hidden (e.g. permission store)
  *     <li>{@link #VERSION}: if a given tree is located within
  *     any of the version related stores defined by JSR 283. Depending on the
- *     permission evaluation implementation those items require special treatment.</li>
+ *     permission evaluation implementation those items require special treatment.
  * </ul>
  */
 public enum TreeType {
diff --git a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AbstractLoginModule.java b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AbstractLoginModule.java
index aed5c7fa49..f1e8fcdb19 100644
--- a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AbstractLoginModule.java
+++ b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AbstractLoginModule.java
@@ -79,20 +79,20 @@ import static java.util.concurrent.TimeUnit.NANOSECONDS;
  * Initialization of this abstract module sets the following protected instance
  * fields:
  * <ul>
- * <li>subject: The subject to be authenticated,</li>
- * <li>callbackHandler: The callback handler passed to the login module,</li>
- * <li>shareState: The map used to share state information with other login modules,</li>
+ * <li>subject: The subject to be authenticated,
+ * <li>callbackHandler: The callback handler passed to the login module,
+ * <li>shareState: The map used to share state information with other login modules,
  * <li>options: The configuration options of this login module as specified
- * in the {@link javax.security.auth.login.Configuration}.</li>
+ * in the {@link javax.security.auth.login.Configuration}.
  * </ul>
  * <li>{@link LoginModule#logout() Logout}:
  * If the authenticated subject is not empty this logout implementation
  * attempts to clear both principals and public credentials and returns
- * {@code true}.</li>
+ * {@code true}.
  * <li>{@link LoginModule#abort() Abort}: Clears the state of this login
  * module by setting all private instance variables created in phase 1 or 2
  * to {@code null}. Subclasses are in charge of releasing their own state
- * information by either overriding {@link #clearState()}.</li>
+ * information by either overriding {@link #clearState()}.
  * </ul>
  * <p>
  * <h2>Utility Methods</h2>
@@ -101,42 +101,42 @@ import static java.util.concurrent.TimeUnit.NANOSECONDS;
  * <ul>
  * <li>{@link #clearState()}: Clears all private state information that has
  * be created during login. This method in called in {@link #abort()} and
- * subclasses are expected to override this method.</li>
+ * subclasses are expected to override this method.
  * <li>{@link #getSupportedCredentials()}: Abstract method used by
  * {@link #getCredentials()} that reveals which credential implementations
- * are supported by the {@code LoginModule}.</li>
+ * are supported by the {@code LoginModule}.
  * <li>{@link #getCredentials()}: Tries to retrieve valid (supported)
  * Credentials in the following order:
  * <ol>
- * <li>using a {@link CredentialsCallback},</li>
+ * <li>using a {@link CredentialsCallback},
  * <li>looking for a {@link #SHARED_KEY_CREDENTIALS} entry in the shared
- * state (see also {@link #getSharedCredentials()} and finally by</li>
- * <li>searching for valid credentials in the subject.</li>
- * </ol></li>
+ * state (see also {@link #getSharedCredentials()} and finally by
+ * <li>searching for valid credentials in the subject.
+ * </ol>
  * <li>{@link #getSharedCredentials()}: This method returns credentials
  * passed to the login module with the share state. The key to share credentials
  * with a another module extending from this base class is
  * {@link #SHARED_KEY_CREDENTIALS}. Note, that this method does not verify
  * if the credentials provided by the shared state are
- * {@link #getSupportedCredentials() supported}.</li>
+ * {@link #getSupportedCredentials() supported}.
  * <li>{@link #getSharedLoginName()}: If the shared state contains an entry
- * for {@link #SHARED_KEY_LOGIN_NAME} this method returns the value as login name.</li>
+ * for {@link #SHARED_KEY_LOGIN_NAME} this method returns the value as login name.
  * <li>{@link #getSecurityProvider()}: Returns the configured security
- * provider or {@code null}.</li>
+ * provider or {@code null}.
  * <li>{@link #getRoot()}: Provides access to the latest state of the
  * repository in order to retrieve user or principal information required to
  * authenticate the subject as well as to write back information during
- * {@link #commit()}.</li>
+ * {@link #commit()}.
  * <li>{@link #getUserManager()}: Returns an instance of the configured
- * {@link UserManager} or {@code null}.</li>
+ * {@link UserManager} or {@code null}.
  * <li>{@link #getPrincipalProvider()}: Returns an instance of the configured
- * principal provider or {@code null}.</li>
+ * principal provider or {@code null}.
  * <li>{@link #getPrincipals(String)}: Utility that returns all principals
  * associated with a given user id. This method might be be called after
  * successful authentication in order to be able to populate the subject
  * during {@link #commit()}. The implementation is a shortcut for calling
  * {@link PrincipalProvider#getPrincipals(String) getPrincipals(String userId}
- * on the provider exposed by {@link #getPrincipalProvider()}</li>
+ * on the provider exposed by {@link #getPrincipalProvider()}
  * </ul>
  */
 @ProviderType
diff --git a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/GuestLoginModule.java b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/GuestLoginModule.java
index 137515d714..829e784e86 100644
--- a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/GuestLoginModule.java
+++ b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/GuestLoginModule.java
@@ -44,11 +44,11 @@ import org.slf4j.LoggerFactory;
  *
  * <ol>
  *     <li>Try to retrieve JCR credentials from the {@link CallbackHandler} using
- *     the {@link CredentialsCallback}</li>
+ *     the {@link CredentialsCallback}
  *     <li>In case no credentials could be obtained it pushes a new instance of
  *     {@link GuestCredentials} to the shared stated. Subsequent login modules
  *     in the authentication process may retrieve the {@link GuestCredentials}
- *     instead of failing to obtain any credentials.</li>
+ *     instead of failing to obtain any credentials.
  * </ol>
  *
  * If this login module pushed {@link GuestLoginModule} to the shared state
diff --git a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/AccessControlAction.java b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/AccessControlAction.java
index f465bc3be7..34d6db38fa 100644
--- a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/AccessControlAction.java
+++ b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/AccessControlAction.java
@@ -52,10 +52,10 @@ import org.slf4j.LoggerFactory;
  * <ul>
  *    <li><strong>groupPrivilegeNames</strong>: the value is expected to be a
  *    comma separated list of privileges that will be granted to the new group on
- *    the group node</li>
+ *    the group node
  *    <li><strong>userPrivilegeNames</strong>: the value is expected to be a
  *    comma separated list of privileges that will be granted to the new user on
- *    the user node.</li>
+ *    the user node.
  * </ul>
  * <p>Example configuration:
  * <pre>
diff --git a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/AuthorizableAction.java b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/AuthorizableAction.java
index 1cde1fcc0b..2fb2520ec8 100644
--- a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/AuthorizableAction.java
+++ b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/AuthorizableAction.java
@@ -33,10 +33,10 @@ import org.jetbrains.annotations.Nullable;
  * specific way to execute additional validation or write tasks upon
  *
  * <ul>
- * <li>{@link #onCreate User creation},</li>
- * <li>{@link #onCreate Group creation},</li>
- * <li>{@link #onRemove Authorizable removal} and</li>
- * <li>{@link #onPasswordChange User password modification}.</li>
+ * <li>{@link #onCreate User creation},
+ * <li>{@link #onCreate Group creation},
+ * <li>{@link #onRemove Authorizable removal} and
+ * <li>{@link #onPasswordChange User password modification}.
  * </ul>
  *
  * <p>Please be aware, that in contrast to {@link org.apache.jackrabbit.oak.spi.commit.Validator}
diff --git a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/GroupAction.java b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/GroupAction.java
index aad1265cbc..173a5dd2ae 100644
--- a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/GroupAction.java
+++ b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/GroupAction.java
@@ -29,11 +29,11 @@ import javax.jcr.RepositoryException;
  * changes to a {@link Group}'s members:
  *
  * <ul>
- * <li>{@link #onMemberAdded(Group, Authorizable, Root, NamePathMapper)}</li>
- * <li>{@link #onMembersAdded(Group, Iterable, Iterable, Root, NamePathMapper)}</li>
- * <li>{@link #onMembersAddedContentId(Group, Iterable, Iterable, Root, NamePathMapper)} </li>
- * <li>{@link #onMemberRemoved(Group, Authorizable, Root, NamePathMapper)}</li>
- * <li>{@link #onMembersRemoved(Group, Iterable, Iterable, Root, NamePathMapper)}</li>
+ * <li>{@link #onMemberAdded(Group, Authorizable, Root, NamePathMapper)}
+ * <li>{@link #onMembersAdded(Group, Iterable, Iterable, Root, NamePathMapper)}
+ * <li>{@link #onMembersAddedContentId(Group, Iterable, Iterable, Root, NamePathMapper)} 
+ * <li>{@link #onMemberRemoved(Group, Authorizable, Root, NamePathMapper)}
+ * <li>{@link #onMembersRemoved(Group, Iterable, Iterable, Root, NamePathMapper)}
  * </ul>
  *
  * <p>
diff --git a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/PasswordValidationAction.java b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/PasswordValidationAction.java
index 6e7df51fe7..aea477263b 100644
--- a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/PasswordValidationAction.java
+++ b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/PasswordValidationAction.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  *
  * <ul>
  *     <li><strong>constraint</strong>: a regular expression that can be compiled
- *     to a {@link java.util.regex.Pattern} defining validation rules for a password.</li>
+ *     to a {@link java.util.regex.Pattern} defining validation rules for a password.
  * </ul>
  *
  * <p>The password validation is executed on user creation and upon password
diff --git a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/UserAction.java b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/UserAction.java
index c7f33106ad..9d860abcf3 100644
--- a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/UserAction.java
+++ b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/UserAction.java
@@ -30,7 +30,7 @@ import org.jetbrains.annotations.Nullable;
  * about and react to the following changes to a {@link User}:
  *
  * <ul>
- * <li>{@link #onDisable(User, String, Root, NamePathMapper)}</li>
+ * <li>{@link #onDisable(User, String, Root, NamePathMapper)}
  * </ul>
  *
  * <p>
diff --git a/oak-segment-remote/src/main/java/org/apache/jackrabbit/oak/segment/remote/persistentcache/DiskCacheIOMonitor.java b/oak-segment-remote/src/main/java/org/apache/jackrabbit/oak/segment/remote/persistentcache/DiskCacheIOMonitor.java
index a703d03bc1..9ecdd9691e 100644
--- a/oak-segment-remote/src/main/java/org/apache/jackrabbit/oak/segment/remote/persistentcache/DiskCacheIOMonitor.java
+++ b/oak-segment-remote/src/main/java/org/apache/jackrabbit/oak/segment/remote/persistentcache/DiskCacheIOMonitor.java
@@ -35,17 +35,17 @@ import static java.util.concurrent.TimeUnit.NANOSECONDS;
  * with the Metrics library if available:
  * <ul>
  *     <li>{@link #OAK_SEGMENT_CACHE_DISK_SEGMENT_READ_BYTES}:
- *          a meter metrics for the number of bytes read from segment disk cache</li>
+ *          a meter metrics for the number of bytes read from segment disk cache
  *     <li>{@link #OAK_SEGMENT_CACHE_DISK_SEGMENT_WRITE_BYTES}:
- *          a meter metrics for the number of bytes written to segment disk cache</li>
+ *          a meter metrics for the number of bytes written to segment disk cache
  *     <li>{@link #OAK_SEGMENT_CACHE_DISK_SEGMENT_READ_TIME}:
- *          a timer metrics for the time spent reading from segment disk cache</li>
+ *          a timer metrics for the time spent reading from segment disk cache
  *     <li>{@link #OAK_SEGMENT_CACHE_DISk_SEGMENT_WRITE_TIME}:
- *          a timer metrics for the time spent writing to segment disk cache</li>
+ *          a timer metrics for the time spent writing to segment disk cache
  *     <li>{@link #OAK_SEGMENT_CACHE_DISK_CACHE_SIZE_CALCULATED}:
- *          a histogram for the calculated segment disk cache size</li>
+ *          a histogram for the calculated segment disk cache size
  *     <li>{@link #OAK_SEGMENT_CACHE_DISK_CACHE_SIZE_CHANGE}:
- *          a histogram for the segment disk cache size change</li>
+ *          a histogram for the segment disk cache size change
  * </ul>
  */
 public class DiskCacheIOMonitor extends IOMonitorAdapter {
diff --git a/oak-segment-remote/src/main/java/org/apache/jackrabbit/oak/segment/remote/persistentcache/RedisCacheIOMonitor.java b/oak-segment-remote/src/main/java/org/apache/jackrabbit/oak/segment/remote/persistentcache/RedisCacheIOMonitor.java
index 7e139f230a..335641f426 100644
--- a/oak-segment-remote/src/main/java/org/apache/jackrabbit/oak/segment/remote/persistentcache/RedisCacheIOMonitor.java
+++ b/oak-segment-remote/src/main/java/org/apache/jackrabbit/oak/segment/remote/persistentcache/RedisCacheIOMonitor.java
@@ -34,13 +34,13 @@ import static java.util.concurrent.TimeUnit.NANOSECONDS;
  * with the Metrics library if available:
  * <ul>
  *     <li>{@link #OAK_SEGMENT_CACHE_REDIS_SEGMENT_READ_BYTES}:
- *          a meter metrics for the number of bytes read from segment redis cache</li>
+ *          a meter metrics for the number of bytes read from segment redis cache
  *     <li>{@link #OAK_SEGMENT_CACHE_REDIS_SEGMENT_WRITE_BYTES}:
- *          a meter metrics for the number of bytes written to segment redis cache</li>
+ *          a meter metrics for the number of bytes written to segment redis cache
  *     <li>{@link #OAK_SEGMENT_CACHE_REDIS_SEGMENT_READ_TIME}:
- *          a timer metrics for the time spent reading from segment redis cache</li>
+ *          a timer metrics for the time spent reading from segment redis cache
  *     <li>{@link #OAK_SEGMENT_CACHE_REDIS_SEGMENT_WRITE_TIME}:
- *          a timer metrics for the time spent writing to segment redis cache</li>
+ *          a timer metrics for the time spent writing to segment redis cache
  * </ul>
  */
 public class RedisCacheIOMonitor extends IOMonitorAdapter {
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CheckpointCompactor.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CheckpointCompactor.java
index 2a13e3f7ef..4d0e2cf87b 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CheckpointCompactor.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CheckpointCompactor.java
@@ -55,9 +55,9 @@ import org.jetbrains.annotations.Nullable;
  * <ul>
  *     <li>Rebasing the checkpoints and subsequently the root on top of each other
  *     in chronological order. This results minimises the deltas that need to be
- *     processed and stored.</li>
+ *     processed and stored.
  *     <li>Caching the compacted checkpoints and root states for deduplication should
- *     the same checkpoint or root state occur again in a later compaction retry cycle.</li>
+ *     the same checkpoint or root state occur again in a later compaction retry cycle.
  * </ul>
  */
 public class CheckpointCompactor extends Compactor {
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CommitsTracker.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CommitsTracker.java
index 91dffe7cbc..9e89324e2d 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CommitsTracker.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CommitsTracker.java
@@ -38,7 +38,7 @@ import org.jetbrains.annotations.Nullable;
  * A simple tracker for the source of commits (writes) in
  * {@link SegmentNodeStore}. It provides two basic functionalities:
  * <ul>
- * <li>exposes the number of commits executed per thread</li>
+ * <li>exposes the number of commits executed per thread
  * <li>exposes the threads (and possibly their details - i.e., stack traces)
  * currently waiting on the commit semaphore
  * </ul>
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferMonitor.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferMonitor.java
index 7572def8f3..fef7a3e521 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferMonitor.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferMonitor.java
@@ -35,13 +35,13 @@ import org.jetbrains.annotations.NotNull;
  * of {@link Buffer} instances:
  * <ul>
  *     <li>{@link #DIRECT_BUFFER_COUNT}: number of allocated direct byte
- *          buffers.</li>
+ *          buffers.
  *     <li>{@link #DIRECT_BUFFER_CAPACITY}: total capacity of the allocated
- *          direct byte buffers.</li>
+ *          direct byte buffers.
  *     <li>{@link #HEAP_BUFFER_COUNT}: number of allocated heap byte
- *          buffers.</li>
+ *          buffers.
  *     <li>{@link #HEAP_BUFFER_CAPACITY}: total capacity of the allocated
- *          heap byte buffers.</li>
+ *          heap byte buffers.
  * </ul>
  * <p>
  * Users of this class call {@link #trackAllocation(Buffer)} to update above statistics.
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/MetricsIOMonitor.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/MetricsIOMonitor.java
index 4cf998ded0..56c4943048 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/MetricsIOMonitor.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/MetricsIOMonitor.java
@@ -34,13 +34,13 @@ import org.jetbrains.annotations.NotNull;
  * with the Metrics library if available:
  * <ul>
  *     <li>{@link #OAK_SEGMENT_SEGMENT_READ_BYTES}:
- *          a meter metrics for the number of bytes read from tar files</li>
+ *          a meter metrics for the number of bytes read from tar files
  *     <li>{@link #OAK_SEGMENT_SEGMENT_WRITE_BYTES}:
- *          a meter metrics for the number of bytes written to tar files</li>
+ *          a meter metrics for the number of bytes written to tar files
  *     <li>{@link #OAK_SEGMENT_SEGMENT_READ_TIME}:
- *          a timer metrics for the time spent reading from tar files</li>
+ *          a timer metrics for the time spent reading from tar files
  *     <li>{@link #OAK_SEGMENT_SEGMENT_WRITE_TIME}:
- *          a timer metrics for the time spent writing to tar files</li>
+ *          a timer metrics for the time spent writing to tar files
  * </ul>
  */
 public class MetricsIOMonitor extends IOMonitorAdapter {
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/GCGeneration.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/GCGeneration.java
index 0624ff5c88..d9784d66a9 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/GCGeneration.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/GCGeneration.java
@@ -44,10 +44,10 @@ import org.jetbrains.annotations.NotNull;
  * {@code h} be the segment containing the current repository head and {@code n} be
  * the number of retained generations.
  * <ul>
- *     <li>{@code s} is old iff {@code h.generation - s.generation >= n}</li>
+ *     <li>{@code s} is old iff {@code h.generation - s.generation >= n}
  *     <li>{@code s} is in the same compaction tail than h iff
- *         {@code s.isCompacted && s.fullGeneration == h.fullGeneration}</li>
- *     <li>{@code s} is reclaimable iff {@code s} is old and {@code s} is not in the same compaction tail than {@code h}</li>
+ *         {@code s.isCompacted && s.fullGeneration == h.fullGeneration}
+ *     <li>{@code s} is reclaimable iff {@code s} is old and {@code s} is not in the same compaction tail than {@code h}
  * </ul>
  */
 public final class GCGeneration {
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileWriter.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileWriter.java
index 1d6053f375..bc12dfddd8 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileWriter.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileWriter.java
@@ -30,8 +30,8 @@ import java.util.List;
  * care of synchronizing the {@link #writeLine(String)} method calls), but the method
  * should be:
  * <ul>
- *  <li>atomic with regards to the {@link JournalFileReader},</li>
- *  <li><b>flushed to the storage</b>.</li>
+ *  <li>atomic with regards to the {@link JournalFileReader},
+ *  <li><b>flushed to the storage</b>.
  * </ul>
  */
 public interface JournalFileWriter extends Closeable {
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveWriter.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveWriter.java
index b94beebe03..7fcff23b93 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveWriter.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveWriter.java
@@ -32,13 +32,13 @@ import org.jetbrains.annotations.Nullable;
  * <ol>
  *     <li>phase 1:
  *         <ul>
- *             <li>{@link #writeSegment(long, long, byte[], int, int, int, int, boolean)}</li>
- *             <li>{@link #flush()}</li>
+ *             <li>{@link #writeSegment(long, long, byte[], int, int, int, int, boolean)}
+ *             <li>{@link #flush()}
  *         </ul>
- *         repeated in an unspecified order</li>
- *     <li>{@link #writeBinaryReferences(byte[])}</li>
- *     <li>{@link #writeGraph(byte[])} (optionally)</li>
- *     <li>{@link #close()}</li>
+ *         repeated in an unspecified order
+ *     <li>{@link #writeBinaryReferences(byte[])}
+ *     <li>{@link #writeGraph(byte[])} (optionally)
+ *     <li>{@link #close()}
  * </ol>
  * All the calls above are synchronized by the caller.
  * In the first phase of the writer lifecycle, the
diff --git a/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java b/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java
index f0ab65e57a..ce4638cabf 100644
--- a/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java
+++ b/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java
@@ -72,9 +72,9 @@ import static org.apache.jackrabbit.oak.composite.ModifiedPathDiff.getModifiedPa
  * less-than-obvious issues which prevent it:
  * <ol>
  *   <li>Thread safety of the write operation can be quite costly, and will come on top
- *   of the thread safety measures already put in place by the composite node stores.</li>
+ *   of the thread safety measures already put in place by the composite node stores.
  *   <li>Many JCR subsystems require global state, e.g. the versioning store. This global state
- *   can become corrupt if multiple mounts operate on it or if mounts are added and removed.</li>
+ *   can become corrupt if multiple mounts operate on it or if mounts are added and removed.
  * </ol>
  * 
  * <p>As such, the only supported configuration is at most a single write-enabled store.
diff --git a/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/package-info.java b/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/package-info.java
index 6efb8de2a2..2a3ea0f0be 100644
--- a/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/package-info.java
+++ b/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/package-info.java
@@ -22,10 +22,10 @@
  * <h2>Design goals</h2>
  * <ol>
  *   <li>Transparency of the composition setup. Neither the NodeStores nor the code using a composite
- *       NodeStore should be aware of the specific implementation being used.</li>
+ *       NodeStore should be aware of the specific implementation being used.
  *   <li>Persistence-agnosticity. The composition support should be applicable to any conformant
- *       NodeStore implementation.</li>
- *   <li>Negligible performance impact. Composition should not add a significat performance overhead.</li>
+ *       NodeStore implementation.
+ *   <li>Negligible performance impact. Composition should not add a significat performance overhead.
  * </ol>
  *
  * <h2>Implementation</h2>
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ClusterView.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ClusterView.java
index 3ff2cda042..12e5174bce 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ClusterView.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ClusterView.java
@@ -38,16 +38,16 @@ import org.apache.jackrabbit.oak.commons.json.JsopBuilder;
  * and has no recoveryLock set. Whether or not the lease has timed out is
  * ignored. If the lease would be timed out, this would be immediately noticed
  * by one of the instances and the affected instance would thus be recovered
- * soon.</li>
+ * soon.
  * <li>Deactivating: An instance that is either recovering (which is the state
  * reported from the ClusterViewDocument) - ie it was active until now but the
  * lease has just timed out and one of the peer instances noticed so it does a
  * recovery now - or it is inactive but some of its changes are still in the
  * backlog (the latter is not tracked in the ClusterViewDocument, instead
- * instances with a backlog are in the 'inactive' bucket there).</li>
+ * instances with a backlog are in the 'inactive' bucket there).
  * <li>Inactive: An instance that is both inactive from a
  * clusterNodes/ClusterViewDocument point of view (ie no longer active and
- * already recovered) and it has no backlog anymore.</li>
+ * already recovered) and it has no backlog anymore.
  * </ul>
  * The JSON generated by the ClusterView (which is propagated to JMX) has the
  * following fields:
@@ -58,7 +58,7 @@ import org.apache.jackrabbit.oak.commons.json.JsopBuilder;
  * even though perhaps all activeIds are still the same (eg when the listener
  * would have missed a few changes). It can also be used to tell with certainty
  * that 'anything has changed' compared to the clusterView with a previous
- * sequence number</li>
+ * sequence number
  * <li>final = is final: this is a boolean indicating whether or not the view
  * with a particular sequence number is final (not going to change anymore) or
  * whether the discovery lite takes the freedom to modify the view in the future
@@ -67,24 +67,24 @@ import org.apache.jackrabbit.oak.commons.json.JsopBuilder;
  * to say that if 'final' is false, that the information provided in
  * active/deactivating/inactive is wrong - that's of course not the case - that
  * info is always correct. But when 'final' is false it just means that
- * active/deactivating/inactive for a given sequence number might change.</li>
+ * active/deactivating/inactive for a given sequence number might change.
  * <li>id = cluster view id: this is the unique, stable identifier of the local
  * cluster. The idea of this id is to provide both an actual identifier for the
  * local cluster as well as a 'namespace' for the instanceIds therein. The
  * instanceIds are all just simply integers and can of course be the same for
- * instances in different clusters.</li>
+ * instances in different clusters.
  * <li>me = my local instance id: this is the id of the local instance as
- * managed by DocumentNodeStore</li>
+ * managed by DocumentNodeStore
  * <li>active = active instance ids: this is the list of instance ids that are
  * all currently active in the local cluster. The ids are managed by
- * DocumentNodeStore</li>
+ * DocumentNodeStore
  * <li>deactivating = deactivating instance ids: this is the list of instance
  * ids that are all in the process of deactivating and for which therefore some
  * data might still be making its way to the local instance. So any changes that
  * were done by instances that are deactivating might not yet be visible locally
  * <li>deactive = deactive instance ids: this is the list of instance ids that
  * are not running nor do they have any data pending to become visible by the
- * local instance</li>
+ * local instance
  * </ul>
  */
 class ClusterView {
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ClusterViewDocument.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ClusterViewDocument.java
index e8fe50247b..dcecf98fb4 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ClusterViewDocument.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ClusterViewDocument.java
@@ -45,11 +45,11 @@ import org.slf4j.LoggerFactory;
  * <li>Active: an instance is active and has no recoveryLock is currently
  * acquired. The lease timeout is ignored. When the lease times out, this is
  * noticed by one of the instances at some point and a recovery is started, at
- * which point the instance transitions from 'Active' to 'Recovering'.</li>
+ * which point the instance transitions from 'Active' to 'Recovering'.
  * <li>Recovering: an instance that was active but currently has the
- * recoveryLock acquired by one of the instances.</li>
+ * recoveryLock acquired by one of the instances.
  * <li>Inactive: an instance is not set to active (in which case the
- * recoveryLock is never set)</li>
+ * recoveryLock is never set)
  * </ul>
  * <p>
  * Note that the states managed in this ClusterViewDocument differs from the one
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Collision.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Collision.java
index 61ad2f5759..8d409d1337 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Collision.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Collision.java
@@ -35,9 +35,9 @@ import static org.apache.jackrabbit.oak.plugins.document.util.Utils.isPropertyNa
  * includes the following situations:
  * <ul>
  * <li>Our commit goes to trunk and another session committed to a branch
- * not yet merged back.</li>
+ * not yet merged back.
  * <li>Our commit goes to a branch and another session committed to trunk
- * or some other branch.</li>
+ * or some other branch.
  * </ul>
  * Other collisions like concurrent commits to trunk are handled earlier and
  * do not require collision marking.
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentDiscoveryLiteService.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentDiscoveryLiteService.java
index 52ec3c480d..684c818895 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentDiscoveryLiteService.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentDiscoveryLiteService.java
@@ -62,9 +62,9 @@ import org.slf4j.LoggerFactory;
  * <li>deactivating: the instance failed to update the lease recently thus a
  * recovery is happening - or it has just finished and the local instance is yet
  * to do a backgroundRead before it has finished reading the crashed/shutdown
- * instance's last changes</li>
+ * instance's last changes
  * <li>inactive: the instance is currently not running and all its changes have
- * been seen by the local instance</li>
+ * been seen by the local instance
  * </ul>
  * <p>
  * Additionally, the cluster-view is assigned a monotonically increasing
@@ -116,10 +116,10 @@ import org.slf4j.LoggerFactory;
  * Prerequisites that the clusterView mechanism is stable:
  * <ul>
  * <li>the machine clocks are reasonably in sync - that is, they should be off
- * by magnitudes less than the lease updateFrequency/timeout</li>
+ * by magnitudes less than the lease updateFrequency/timeout
  * <li>the write-delays from any instance to the mongo server where the
  * clusterNodes and settings collections are stored should be very fast - at
- * least orders of magnitudes lower again than the lease timeout</li>
+ * least orders of magnitudes lower again than the lease timeout
  * <li>when this instance notices that others have kicked it out of the
  * clusterView (which it can find out when either its clusterNodes document is
  * set to recovering or it is not in the clusterView anymore, although it just
@@ -129,7 +129,7 @@ import org.slf4j.LoggerFactory;
  * have stabilized - waiting for recovery of its own instance by the remaining
  * instances in the cluster to have finished - and then probably waiting for
  * another gracePeriod until it might rejoin the cluster. In between, any commit
- * should fail with BannedFromClusterException</li>
+ * should fail with BannedFromClusterException
  * </ul>
  * 
  * @see #OAK_DISCOVERYLITE_CLUSTERVIEW
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreServiceConfiguration.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreServiceConfiguration.java
index e26b806f04..98618299bf 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreServiceConfiguration.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreServiceConfiguration.java
@@ -39,13 +39,13 @@ import static java.util.Objects.requireNonNull;
  * entries in the following sequence:
  * <ul>
  *     <li>Framework/system properties, potentially with mapped names. See
- *          {@link #frameworkPropertyNameFor(String)}.</li>
+ *          {@link #frameworkPropertyNameFor(String)}.
  *     <li>OSGi configuration for {@link DocumentNodeStoreService} with
  *          {@link Configuration#PID} if the property is set via the
- *          OSGi Configuration Admin.</li>
+ *          OSGi Configuration Admin.
  *     <li>OSGi configuration with {@link Configuration#PRESET_PID}. The
  *          default value for a configuration entry will be provided if the
- *          OSGi Configuration Admin does not have an entry as a preset.</li>
+ *          OSGi Configuration Admin does not have an entry as a preset.
  * </ul>
  */
 final class DocumentNodeStoreServiceConfiguration {
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/Include.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/Include.java
index af12c7acdc..abf531407c 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/Include.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/Include.java
@@ -31,15 +31,15 @@ import static java.util.Objects.checkIndex;
  * Include represents a single path pattern which captures the path which
  * needs to be included in bundling. Path patterns can be like below.
  * <ul>
- *     <li>* - Match any immediate child</li>
- *     <li>*\/* - Match child with any name upto 2 levels of depth</li>
- *     <li>jcr:content - Match immediate child with name jcr:content</li>
- *     <li>jcr:content\/** - Match jcr:content and all its child</li>
+ *     <li>* - Match any immediate child
+ *     <li>*\/* - Match child with any name upto 2 levels of depth
+ *     <li>jcr:content - Match immediate child with name jcr:content
+ *     <li>jcr:content\/** - Match jcr:content and all its child
  * </ul>
  *
  * The last path element can specify a directive. Supported directive
  * <ul>
- *     <li>all - Include all nodes under given path</li>
+ *     <li>all - Include all nodes under given path
  * </ul>
  */
 public class Include {
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
index 3827972c76..001992fed7 100755
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
@@ -103,13 +103,13 @@ import org.apache.jackrabbit.guava.common.collect.Iterators;
  * simplify testing, and <em>that</em> code specifically supports these
  * databases:
  * <ul>
- * <li>H2DB</li>
- * <li>Apache Derby</li>
- * <li>IBM DB2</li>
- * <li>PostgreSQL</li>
- * <li>MariaDB (MySQL)</li>
- * <li>Microsoft SQL Server</li>
- * <li>Oracle</li>
+ * <li>H2DB
+ * <li>Apache Derby
+ * <li>IBM DB2
+ * <li>PostgreSQL
+ * <li>MariaDB (MySQL)
+ * <li>Microsoft SQL Server
+ * <li>Oracle
  * </ul>
  * 
  * <h3 id="apidocs.table-layout">Table Layout</h3>
@@ -216,9 +216,9 @@ import org.apache.jackrabbit.guava.common.collect.Iterators;
  * <p>
  * Databases need to be configured so that:
  * <ul>
- * <li>Text fields support all Unicode code points,</li>
- * <li>Collation of text fields happens by Unicode code point,</li>
- * <li>and BLOBs need to support at least 16 MB.</li>
+ * <li>Text fields support all Unicode code points,
+ * <li>Collation of text fields happens by Unicode code point,
+ * <li>and BLOBs need to support at least 16 MB.
  * </ul>
  * <p>
  * See the
diff --git a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/EmptyHook.java b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/EmptyHook.java
index 20cb7359bc..8938d62b81 100644
--- a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/EmptyHook.java
+++ b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/EmptyHook.java
@@ -26,13 +26,13 @@ import org.jetbrains.annotations.NotNull;
  * <ol>
  * <li>The static {@link #INSTANCE} instance can be used as a "null object"
  * in cases where another commit hook has not been configured, thus avoiding
- * the need for extra code for such cases.</li>
+ * the need for extra code for such cases.
  * <li>Other commit hook implementations can extend this class and gain
  * improved forwards-compatibility to possible changes in the
  * {@link CommitHook} interface. For example if it is later decided that
  * new arguments are needed in the hook methods, this class is guaranteed
  * to implement any new method signatures in a way that falls gracefully
- * back to any earlier behavior.</li>
+ * back to any earlier behavior.
  * </ol>
  */
 public class EmptyHook implements CommitHook {
diff --git a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/state/MoveDetector.java b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/state/MoveDetector.java
index 47ad53f746..f1614f37a3 100644
--- a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/state/MoveDetector.java
+++ b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/state/MoveDetector.java
@@ -40,14 +40,14 @@ import org.apache.jackrabbit.oak.spi.commit.Validator;
  * Limitations:
  * <ul>
  *     <li>Moving a moved node only reports one move from the original source to the final
- *     target.</li>
+ *     target.
  *     <li>Moving a transiently added node is not reported as a move operation but as an
- *     add operation on the move target.</li>
+ *     add operation on the move target.
  *     <li>Removing a moved node is not reported as a move operation but as a remove operation
- *     from the source of the move.</li>
+ *     from the source of the move.
  *     <li>Moving a child node of a transiently moved node is reported from the original
- *     source node, not from the intermediate one.</li>
- *     <li>Moving a node back and forth to its original location is not reported at all.</li>
+ *     source node, not from the intermediate one.
+ *     <li>Moving a node back and forth to its original location is not reported at all.
  * </ul>
  */
 public class MoveDetector implements Validator {
diff --git a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeBuilder.java b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeBuilder.java
index 77590a9d0b..79bae1a47f 100644
--- a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeBuilder.java
+++ b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeBuilder.java
@@ -34,15 +34,15 @@ import org.jetbrains.annotations.Nullable;
  * interface contains the following key methods:
  * <ul>
  * <li>The {@code setProperty} and {@code removeProperty} methods for
- *     modifying properties</li>
+ *     modifying properties
  * <li>The {@code getChildNode} method for accessing or modifying an existing
- *     subtree</li>
+ *     subtree
  * <li>The {@code setChildNode} and {@code removeChildNode} methods for adding,
- *     replacing or removing a subtree</li>
+ *     replacing or removing a subtree
  * <li>The {@code exists} method for checking whether the node represented by
- *     a builder exists or is accessible</li>
+ *     a builder exists or is accessible
  * <li>The {@code getNodeState} method for getting a frozen snapshot of the
- *     modified content tree</li>
+ *     modified content tree
  * </ul>
  * All the builders acquired from the same root builder instance are linked so
  * that changes made through one instance automatically become visible in the other