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

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-collections.git


The following commit(s) were added to refs/heads/master by this push:
     new 520967d5e Javadoc
520967d5e is described below

commit 520967d5eb73e6a5d78ea6c95bcc44fee1f544ea
Author: Gary Gregory <[email protected]>
AuthorDate: Fri Oct 18 18:40:11 2024 -0400

    Javadoc
    
    - Whitespace before tags
    - Close HTML tags
    - Use longer lines
    - Whitespace
    - End sentence with a period
    - Remove separator inline comments
    - @since tags not needed on package-private elements
    - Add missing HTML paragraph tags
    - Use inline comments intead of blocks
---
 .../bloomfilter/ArrayCountingBloomFilter.java      | 53 ++++++++--------
 .../collections4/bloomfilter/BitMapExtractor.java  | 33 +++++-----
 .../commons/collections4/bloomfilter/BitMaps.java  |  4 +-
 .../collections4/bloomfilter/BloomFilter.java      | 13 ++--
 .../bloomfilter/BloomFilterExtractor.java          | 61 +++++++++---------
 .../collections4/bloomfilter/CellExtractor.java    |  4 +-
 .../bloomfilter/CountingBloomFilter.java           | 25 ++++----
 .../bloomfilter/CountingLongPredicate.java         |  3 +-
 .../bloomfilter/CountingPredicate.java             |  1 -
 .../bloomfilter/EnhancedDoubleHasher.java          |  9 ++-
 .../commons/collections4/bloomfilter/Hasher.java   | 25 +++++---
 .../collections4/bloomfilter/IndexExtractor.java   |  2 +
 .../collections4/bloomfilter/IndexFilter.java      |  6 +-
 .../collections4/bloomfilter/IndexUtils.java       |  2 +
 .../collections4/bloomfilter/LayerManager.java     |  8 ++-
 .../bloomfilter/LayeredBloomFilter.java            | 70 +++++++--------------
 .../collections4/bloomfilter/LongBiPredicate.java  |  4 +-
 .../collections4/bloomfilter/SetOperations.java    | 73 +++++++++++++---------
 .../commons/collections4/bloomfilter/Shape.java    | 21 ++++---
 .../bloomfilter/SimpleBloomFilter.java             | 13 ++--
 .../bloomfilter/SparseBloomFilter.java             | 10 +--
 .../bloomfilter/WrappedBloomFilter.java            |  1 +
 22 files changed, 231 insertions(+), 210 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/ArrayCountingBloomFilter.java
 
b/src/main/java/org/apache/commons/collections4/bloomfilter/ArrayCountingBloomFilter.java
index 5e308404e..5f4874a31 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/ArrayCountingBloomFilter.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/ArrayCountingBloomFilter.java
@@ -25,25 +25,23 @@ import java.util.stream.IntStream;
 /**
  * A counting Bloom filter using an int array to track cells for each enabled 
bit.
  *
- * <p>Any operation that results in negative counts or integer overflow of
- * counts will mark this filter as invalid. This transition is not reversible.
- * The operation is completed in full, no exception is raised and the state is
- * set to invalid. This allows the cells for the filter immediately prior to 
the
- * operation that created the invalid state to be recovered. See the 
documentation
- * in {@link #isValid()} for details.</p>
+ * <p>
+ * Any operation that results in negative counts or integer overflow of counts 
will mark this filter as invalid. This transition is not reversible. The
+ * operation is completed in full, no exception is raised and the state is set 
to invalid. This allows the cells for the filter immediately prior to the
+ * operation that created the invalid state to be recovered. See the 
documentation in {@link #isValid()} for details.
+ * </p>
  *
- * <p>All the operations in the filter assume the cells are currently valid,
- * for example {@code cardinality} or {@code contains} operations. Behavior of 
an invalid
- * filter is undefined. It will no longer function identically to a standard
- * Bloom filter that is the merge of all the Bloom filters that have been added
- * to and not later subtracted from the counting Bloom filter.</p>
+ * <p>
+ * All the operations in the filter assume the cells are currently valid, for 
example {@code cardinality} or {@code contains} operations. Behavior of an 
invalid
+ * filter is undefined. It will no longer function identically to a standard 
Bloom filter that is the merge of all the Bloom filters that have been added to 
and
+ * not later subtracted from the counting Bloom filter.
+ * </p>
  *
- * <p>The maximum supported number of items that can be stored in the filter is
- * limited by the maximum array size combined with the {@link Shape}. For
- * example an implementation using a {@link Shape} with a false-positive
- * probability of 1e-6 and {@link Integer#MAX_VALUE} bits can reversibly store
- * approximately 75 million items using 20 hash functions per item with a 
memory
- * consumption of approximately 8 GB.
+ * <p>
+ * The maximum supported number of items that can be stored in the filter is 
limited by the maximum array size combined with the {@link Shape}. For example 
an
+ * implementation using a {@link Shape} with a false-positive probability of 
1e-6 and {@link Integer#MAX_VALUE} bits can reversibly store approximately 75
+ * million items using 20 hash functions per item with a memory consumption of 
approximately 8 GB.
+ * </p>
  *
  * @see Shape
  * @see CellExtractor
@@ -196,16 +194,19 @@ public final class ArrayCountingBloomFilter implements 
CountingBloomFilter {
     /**
      * {@inheritDoc}
      *
-     * <p><em>Implementation note</em>
+     * <p>
+     * <em>Implementation note</em>
+     * </p>
      *
-     * <p>The state transition to invalid is permanent.</p>
+     * <p>
+     * The state transition to invalid is permanent.
+     * </p>
      *
-     * <p>This implementation does not correct negative cells to zero or 
integer
-     * overflow cells to {@link Integer#MAX_VALUE}. Thus the operation that
-     * generated invalid cells can be reversed by using the complement of the
-     * original operation with the same Bloom filter. This will restore the 
cells
-     * to the state prior to the invalid operation. Cells can then be extracted
-     * using {@link #processCells(CellPredicate)}.</p>
+     * <p>
+     * This implementation does not correct negative cells to zero or integer 
overflow cells to {@link Integer#MAX_VALUE}. Thus the operation that generated
+     * invalid cells can be reversed by using the complement of the original 
operation with the same Bloom filter. This will restore the cells to the state
+     * prior to the invalid operation. Cells can then be extracted using 
{@link #processCells(CellPredicate)}.
+     * </p>
      */
     @Override
     public boolean isValid() {
@@ -270,7 +271,7 @@ public final class ArrayCountingBloomFilter implements 
CountingBloomFilter {
     }
 
     /**
-     * Subtract from the cell for the bit index.
+     * Subtracts from the cell for the bit index.
      *
      * @param idx the index
      * @param subtrahend the amount to subtract
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/BitMapExtractor.java
 
b/src/main/java/org/apache/commons/collections4/bloomfilter/BitMapExtractor.java
index 3fc385359..fb24f3b47 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/BitMapExtractor.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/BitMapExtractor.java
@@ -22,16 +22,17 @@ import java.util.function.LongPredicate;
 
 /**
  * Produces bit map longs for a Bloom filter.
- *
+ * <p>
  * Each bit map is a little-endian long value representing a block of bits of 
in a filter.
- *
- * <p>The returned array will have length {@code ceil(m / 64)} where {@code m} 
is the
- * number of bits in the filter and {@code ceil} is the ceiling function.
- * Bits 0-63 are in the first long. A value of 1 at a bit position indicates 
the bit
- * index is enabled.
- * </p><p><em>
- * The default implementations of the {@code makePredicate()} and {@code 
asBitMapArray} methods
- * are slow and should be reimplemented in the implementing classes where 
possible.</em></p>
+ * </p>
+ * <p>
+ * The returned array will have length {@code ceil(m / 64)} where {@code m} is 
the number of bits in the filter and {@code ceil} is the ceiling function. Bits
+ * 0-63 are in the first long. A value of 1 at a bit position indicates the 
bit index is enabled.
+ * </p>
+ * <p>
+ * <em>The default implementations of the {@code makePredicate()} and {@code 
asBitMapArray} methods are slow and should be reimplemented in the implementing
+ * classes where possible.</em>
+ * </p>
  *
  * @since 4.5.0
  */
@@ -40,6 +41,7 @@ public interface BitMapExtractor {
 
     /**
      * Creates a BitMapExtractor from an array of Long.
+     *
      * @param bitMaps the bit maps to return.
      * @return a BitMapExtractor.
      */
@@ -70,6 +72,7 @@ public interface BitMapExtractor {
 
     /**
      * Creates a BitMapExtractor from an IndexExtractor.
+     *
      * @param extractor the IndexExtractor that specifies the indexes of the 
bits to enable.
      * @param numberOfBits the number of bits in the Bloom filter.
      * @return A BitMapExtractor that produces the bit maps equivalent of the 
Indices from the extractor.
@@ -121,15 +124,15 @@ public interface BitMapExtractor {
     }
 
     /**
-     * Applies the {@code func} to each bit map pair in order. Will apply all 
of the bit maps from the other
-     * BitMapExtractor to this extractor. If this extractor does not have as 
many bit maps it will provide 0 (zero)
-     * for all excess calls to the LongBiPredicate.
+     * Applies the {@code func} to each bit map pair in order. Will apply all 
of the bit maps from the other BitMapExtractor to this extractor. If this
+     * extractor does not have as many bit maps it will provide 0 (zero) for 
all excess calls to the LongBiPredicate.
      * <p>
-     * <em>The default implementation of this method uses {@code 
asBitMapArray()}. It is recommended that implementations
-     * of BitMapExtractor that have local arrays reimplement this 
method.</em></p>
+     * <em>The default implementation of this method uses {@code 
asBitMapArray()}. It is recommended that implementations of BitMapExtractor 
that have local
+     * arrays reimplement this method.</em>
+     * </p>
      *
      * @param other The other BitMapExtractor that provides the y values in 
the (x,y) pair.
-     * @param func The function to apply.
+     * @param func  The function to apply.
      * @return A LongPredicate that tests this BitMapExtractor's bitmap values 
in order.
      */
     default boolean processBitMapPairs(final BitMapExtractor other, final 
LongBiPredicate func) {
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/BitMaps.java 
b/src/main/java/org/apache/commons/collections4/bloomfilter/BitMaps.java
index 2428ccef4..4c6766292 100644
--- a/src/main/java/org/apache/commons/collections4/bloomfilter/BitMaps.java
+++ b/src/main/java/org/apache/commons/collections4/bloomfilter/BitMaps.java
@@ -25,13 +25,15 @@ package org.apache.commons.collections4.bloomfilter;
  * @since 4.5.0
  */
 public class BitMaps {
+
     /** A bit shift to apply to an integer to divided by 64 (2^6). */
     private static final int DIVIDE_BY_64 = 6;
 
     /**
      * Checks if the specified index bit is enabled in the array of bit maps.
-     *
+     * <p>
      * If the bit specified by bitIndex is not in the bit map false is 
returned.
+     * </p>
      *
      * @param bitMaps  The array of bit maps.
      * @param bitIndex the index of the bit to locate.
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/BloomFilter.java 
b/src/main/java/org/apache/commons/collections4/bloomfilter/BloomFilter.java
index 4ab18c34c..fb884a5c4 100644
--- a/src/main/java/org/apache/commons/collections4/bloomfilter/BloomFilter.java
+++ b/src/main/java/org/apache/commons/collections4/bloomfilter/BloomFilter.java
@@ -33,9 +33,10 @@ public interface BloomFilter<T extends BloomFilter<T>> 
extends IndexExtractor, B
 
     /**
      * The sparse characteristic used to determine the best method for 
matching: {@value}.
-     * <p>For `sparse` implementations
-     * the {@code forEachIndex(IntConsumer consumer)} method is more 
efficient. For non `sparse` implementations
-     * the {@code forEachBitMap(LongConsumer consumer)} is more efficient. 
Implementers should determine if it is easier
+     * <p>
+     * For `sparse` implementations the {@code forEachIndex(IntConsumer 
consumer)} method is more efficient. For non `sparse` implementations the
+     * {@code forEachBitMap(LongConsumer consumer)} is more efficient. 
Implementers should determine if it is easier.
+     * </p>
      */
     int SPARSE = 0x1;
 
@@ -51,15 +52,17 @@ public interface BloomFilter<T extends BloomFilter<T>> 
extends IndexExtractor, B
     // Query Operations
 
     /**
-     * Returns the characteristics of the filter.
+     * Gets the characteristics of the filter.
      * <p>
      * Characteristics are defined as bits within the characteristics integer.
+     * </p>
+     *
      * @return the characteristics for this bloom filter.
      */
     int characteristics();
 
     /**
-     * Resets the filter to its initial, unpopulated state.
+     * Clears the filter to by resetting it to its initial, unpopulated state.
      */
     void clear();
 
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/BloomFilterExtractor.java
 
b/src/main/java/org/apache/commons/collections4/bloomfilter/BloomFilterExtractor.java
index 4abbf336f..ce62bbe8c 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/BloomFilterExtractor.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/BloomFilterExtractor.java
@@ -35,13 +35,14 @@ public interface BloomFilterExtractor {
      * Creates a BloomFilterExtractor from an array of Bloom filters.
      *
      * <ul>
-     * <li>The asBloomFilterArray() method returns a copy of the original array
-     * with references to the original filters.</li>
+     * <li>The asBloomFilterArray() method returns a copy of the original 
array with references to the original filters.</li>
      * <li>The forEachBloomFilterPair() method uses references to the original 
filters.</li>
      * </ul>
-     * <p><em>All modifications to the Bloom filters are reflected in the 
original filters</em></p>
+     * <p>
+     * <em>All modifications to the Bloom filters are reflected in the 
original filters</em>
+     * </p>
      *
-     * @param <T> The BloomFilter type.
+     * @param <T>     The BloomFilter type.
      * @param filters The filters to be returned by the extractor.
      * @return THe BloomFilterExtractor containing the filters.
      */
@@ -50,9 +51,8 @@ public interface BloomFilterExtractor {
         return new BloomFilterExtractor() {
 
             /**
-             * This implementation returns a copy the original array, the 
contained Bloom filters
-             * are references to the originals, any modifications to them are 
reflected in the original
-             * filters.
+             * This implementation returns a copy the original array, the 
contained Bloom filters are references to the originals, any modifications to 
them are
+             * reflected in the original filters.
              */
             @Override
             public BloomFilter[] asBloomFilterArray() {
@@ -60,12 +60,10 @@ public interface BloomFilterExtractor {
             }
 
             /**
-             * This implementation uses references to the original filters.  
Any modifications to the
-             * filters are reflected in the originals.
+             * This implementation uses references to the original filters. 
Any modifications to the filters are reflected in the originals.
              */
             @Override
-            public boolean processBloomFilterPair(final BloomFilterExtractor 
other,
-                                                  final 
BiPredicate<BloomFilter, BloomFilter> func) {
+            public boolean processBloomFilterPair(final BloomFilterExtractor 
other, final BiPredicate<BloomFilter, BloomFilter> func) {
                 final CountingPredicate<BloomFilter> p = new 
CountingPredicate<>(filters, func);
                 return other.processBloomFilters(p) && p.processRemaining();
             }
@@ -84,9 +82,12 @@ public interface BloomFilterExtractor {
 
     /**
      * Return an array of the Bloom filters in the collection.
-     * <p><em>Implementations should specify if the array contains deep 
copies, immutable instances,
-     * or references to the filters in the collection.</em></p>
-     * <p>The default method returns a deep copy of the enclosed filters.</p>
+     * <p>
+     * <em>Implementations should specify if the array contains deep copies, 
immutable instances, or references to the filters in the collection.</em>
+     * </p>
+     * <p>
+     * The default method returns a deep copy of the enclosed filters.
+     * </p>
      *
      * @return An array of Bloom filters.
      */
@@ -97,8 +98,7 @@ public interface BloomFilterExtractor {
     }
 
     /**
-     * Create a standard (non-layered) Bloom filter by merging all of the 
layers. If
-     * the filter is empty this method will return an empty Bloom filter.
+     * Create a standard (non-layered) Bloom filter by merging all of the 
layers. If the filter is empty this method will return an empty Bloom filter.
      *
      * @return the merged bloom filter, never null.
      * @throws NullPointerException if this call did not process any filters.
@@ -115,34 +115,29 @@ public interface BloomFilterExtractor {
     }
 
     /**
-     * Applies the {@code func} to each Bloom filter pair in order. Will apply 
all
-     * of the Bloom filters from the other BloomFilterExtractor to this 
extractor. If
-     * either {@code this} extractor or {@code other} extractor has fewer 
BloomFilters
-     * the method will provide {@code null} for all excess calls to the {@code 
func}.
+     * Applies the {@code func} to each Bloom filter pair in order. Will apply 
all of the Bloom filters from the other BloomFilterExtractor to this extractor.
+     * If either {@code this} extractor or {@code other} extractor has fewer 
BloomFilters the method will provide {@code null} for all excess calls to the
+     * {@code func}.
      *
-     * <p><em>This implementation returns references to the Bloom filter.  
Other implementations
-     * should specify if the array contains deep copies, immutable instances,
-     * or references to the filters in the collection.</em></p>
+     * <p>
+     * <em>This implementation returns references to the Bloom filter. Other 
implementations should specify if the array contains deep copies, immutable
+     * instances, or references to the filters in the collection.</em>
+     * </p>
      *
-     * @param other The other BloomFilterExtractor that provides the y values 
in the
-     *              (x,y) pair.
+     * @param other The other BloomFilterExtractor that provides the y values 
in the (x,y) pair.
      * @param func  The function to apply.
-     * @return {@code true} if the {@code func} returned {@code true} for 
every pair,
-     *         {@code false} otherwise.
+     * @return {@code true} if the {@code func} returned {@code true} for 
every pair, {@code false} otherwise.
      */
-    default boolean processBloomFilterPair(final BloomFilterExtractor other,
-                                           final BiPredicate<BloomFilter, 
BloomFilter> func) {
+    default boolean processBloomFilterPair(final BloomFilterExtractor other, 
final BiPredicate<BloomFilter, BloomFilter> func) {
         final CountingPredicate<BloomFilter> p = new 
CountingPredicate<>(asBloomFilterArray(), func);
         return other.processBloomFilters(p) && p.processRemaining();
     }
 
     /**
-     * Executes a Bloom filter Predicate on each Bloom filter in the 
collection. The
-     * ordering of the Bloom filters is not specified by this interface.
+     * Executes a Bloom filter Predicate on each Bloom filter in the 
collection. The ordering of the Bloom filters is not specified by this 
interface.
      *
      * @param bloomFilterPredicate the predicate to evaluate each Bloom filter 
with.
-     * @return {@code false} when the first filter fails the predicate test. 
Returns
-     *         {@code true} if all filters pass the test.
+     * @return {@code false} when the first filter fails the predicate test. 
Returns {@code true} if all filters pass the test.
      */
     boolean processBloomFilters(Predicate<BloomFilter> bloomFilterPredicate);
 }
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/CellExtractor.java 
b/src/main/java/org/apache/commons/collections4/bloomfilter/CellExtractor.java
index 89f3944d0..c37598975 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/CellExtractor.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/CellExtractor.java
@@ -65,14 +65,14 @@ public interface CellExtractor extends IndexExtractor {
     /**
      * Creates a CellExtractor from an IndexExtractor.
      *
-     * <p>Note the following properties:
+     * <p>Note the following properties:</p>
      * <ul>
      * <li>Each index returned from the IndexExtractor is assumed to have a 
cell value of 1.</li>
      * <li>The CellExtractor aggregates duplicate indices from the 
IndexExtractor.</li>
      * </ul>
      *
      * <p>A CellExtractor that outputs the mapping [(1,2),(2,3),(3,1)] can be 
created from many combinations
-     * of indices including:
+     * of indices including:</p>
      * <pre>
      * [1, 1, 2, 2, 2, 3]
      * [1, 3, 1, 2, 2, 2]
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/CountingBloomFilter.java
 
b/src/main/java/org/apache/commons/collections4/bloomfilter/CountingBloomFilter.java
index 60f597fbc..15f456e74 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/CountingBloomFilter.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/CountingBloomFilter.java
@@ -76,13 +76,14 @@ public interface CountingBloomFilter extends 
BloomFilter<CountingBloomFilter>, C
 
     /**
      * Returns the maximum allowable value for a cell count in this Counting 
filter.
+     *
      * @return the maximum allowable value for a cell count in this Counting 
filter.
      */
     int getMaxCell();
 
     /**
-     * Determines the maximum number of times the BitMapExtractor could have 
been merged into this
-     * counting filter.
+     * Determines the maximum number of times the BitMapExtractor could have 
been merged into this counting filter.
+     *
      * @param bitMapExtractor the BitMapExtractor to provide the indices.
      * @return the maximum number of times the BitMapExtractor could have been 
inserted.
      */
@@ -102,8 +103,8 @@ public interface CountingBloomFilter extends 
BloomFilter<CountingBloomFilter>, C
     }
 
     /**
-     * Determines the maximum number of times the Bloom filter could have been 
merged
-     * into this counting filter.
+     * Determines the maximum number of times the Bloom filter could have been 
merged into this counting filter.
+     *
      * @param bloomFilter the Bloom filter the check for.
      * @return the maximum number of times the Bloom filter could have been 
inserted.
      */
@@ -113,14 +114,15 @@ public interface CountingBloomFilter extends 
BloomFilter<CountingBloomFilter>, C
 
     /**
      * Determines the maximum number of times the Cell Extractor could have 
been added.
+     *
      * @param cellExtractor the extractor of cells.
      * @return the maximum number of times the CellExtractor could have been 
inserted.
      */
     int getMaxInsert(CellExtractor cellExtractor);
 
     /**
-     * Determines the maximum number of times the Hasher could have been 
merged into this
-     * counting filter.
+     * Determines the maximum number of times the Hasher could have been 
merged into this counting filter.
+     *
      * @param hasher the Hasher to provide the indices.
      * @return the maximum number of times the hasher could have been inserted.
      */
@@ -128,13 +130,12 @@ public interface CountingBloomFilter extends 
BloomFilter<CountingBloomFilter>, C
         return getMaxInsert(hasher.indices(getShape()));
     }
 
-    // Modification Operations
-
     /**
-     * Determines the maximum number of times the IndexExtractor could have 
been merged
-     * into this counting filter.
-     * <p>To determine how many times an indexExtractor could have been added 
create a CellExtractor
-     * from the indexExtractor and check that</p>
+     * Determines the maximum number of times the IndexExtractor could have 
been merged into this counting filter.
+     * <p>
+     * To determine how many times an indexExtractor could have been added 
create a CellExtractor from the indexExtractor and check that
+     * </p>
+     *
      * @param indexExtractor the extractor to drive the count check.
      * @return the maximum number of times the IndexExtractor could have been 
inserted.
      * @see #getMaxInsert(CellExtractor)
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/CountingLongPredicate.java
 
b/src/main/java/org/apache/commons/collections4/bloomfilter/CountingLongPredicate.java
index 99440e843..3f32b1a69 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/CountingLongPredicate.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/CountingLongPredicate.java
@@ -23,9 +23,9 @@ import java.util.function.LongPredicate;
  * if the {@code ary} is exhausted, the subsequent calls to {@code test} are 
executed with a zero value.
  * If the calls to {@code test} do not exhaust the {@code ary} the {@code 
processRemaining} method can be called to
  * execute the @{code test} with a zero value for each remaining {@code idx} 
value.
- * @since 4.5.0
  */
 class CountingLongPredicate implements LongPredicate {
+
     private int idx;
     private final long[] ary;
     private final LongBiPredicate func;
@@ -34,6 +34,7 @@ class CountingLongPredicate implements LongPredicate {
      * Constructs an instance that will compare the elements in {@code ary} 
with the elements returned by {@code func}.
      * function is called as {@code func.test( idxValue, otherValue )}. If 
there are more {@code otherValue} values than
      * {@code idxValues} then {@code func} is called as {@code func.test( 0, 
otherValue )}.
+     *
      * @param ary The array of long values to compare.
      * @param func The function to apply to the pairs of long values.
      */
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/CountingPredicate.java
 
b/src/main/java/org/apache/commons/collections4/bloomfilter/CountingPredicate.java
index d2594bd6d..cbf0f4aac 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/CountingPredicate.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/CountingPredicate.java
@@ -28,7 +28,6 @@ import java.util.function.Predicate;
  * {@code null} value for each remaining {@code idx} value.
  *
  * @param <T> the type of object being compared.
- * @since 4.5.0
  */
 class CountingPredicate<T> implements Predicate<T> {
     private int idx;
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/EnhancedDoubleHasher.java
 
b/src/main/java/org/apache/commons/collections4/bloomfilter/EnhancedDoubleHasher.java
index 7c2bdd597..82382b9f1 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/EnhancedDoubleHasher.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/EnhancedDoubleHasher.java
@@ -29,7 +29,7 @@ import java.util.function.IntPredicate;
  *
  * <h2>Thoughts on the hasher input</h2>
  *
- *<p>Note that it is worse to create smaller numbers for the {@code initial} 
and {@code increment}. If the {@code initial} is smaller than
+ * <p>Note that it is worse to create smaller numbers for the {@code initial} 
and {@code increment}. If the {@code initial} is smaller than
  * the number of bits in a filter then hashing will start at the same point 
when the size increases; likewise the {@code increment} will be
  * the same if it remains smaller than the number of bits in the filter and so 
the first few indices will be the same if the number of bits
  * changes (but is still larger than the {@code increment}). In a worse case 
scenario with small {@code initial} and {@code increment} for
@@ -48,6 +48,7 @@ public class EnhancedDoubleHasher implements Hasher {
 
     /**
      * Convert bytes to big-endian long filling with zero bytes as necessary.
+     *
      * @param byteArray the byte array to extract the values from.
      * @param offset the offset to start extraction from.
      * @param len the length of the extraction, may be longer than 8.
@@ -82,7 +83,7 @@ public class EnhancedDoubleHasher implements Hasher {
      * <p>The byte array is split in 2 and the first 8 bytes of each half are 
interpreted as a big-endian long value.
      * Excess bytes are ignored.
      * If there are fewer than 16 bytes the following conversions are made.
-     *</p>
+     * </p>
      * <ol>
      * <li>If there is an odd number of bytes the excess byte is assigned to 
the increment value</li>
      * <li>The bytes allotted are read in big-endian order any byte not 
populated is set to zero.</li>
@@ -90,6 +91,7 @@ public class EnhancedDoubleHasher implements Hasher {
      * <p>
      * This ensures that small arrays generate the largest possible increment 
and initial values.
      * </p>
+     *
      * @param buffer the buffer to extract the longs from.
      * @throws IllegalArgumentException is buffer length is zero.
      */
@@ -105,6 +107,7 @@ public class EnhancedDoubleHasher implements Hasher {
 
     /**
      * Constructs the EnhancedDoubleHasher from 2 longs. The long values will 
be interpreted as unsigned values.
+     *
      * @param initial The initial value for the hasher.
      * @param increment The value to increment the hash by on each iteration.
      */
@@ -115,6 +118,7 @@ public class EnhancedDoubleHasher implements Hasher {
 
     /**
      * Gets the increment value for the hash calculation.
+     *
      * @return the increment value for the hash calculation.
      */
     long getIncrement() {
@@ -123,6 +127,7 @@ public class EnhancedDoubleHasher implements Hasher {
 
     /**
      * Gets the initial value for the hash calculation.
+     *
      * @return the initial value for the hash calculation.
      */
     long getInitial() {
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/Hasher.java 
b/src/main/java/org/apache/commons/collections4/bloomfilter/Hasher.java
index ce4b9c227..8bfb952a8 100644
--- a/src/main/java/org/apache/commons/collections4/bloomfilter/Hasher.java
+++ b/src/main/java/org/apache/commons/collections4/bloomfilter/Hasher.java
@@ -17,8 +17,7 @@
 package org.apache.commons.collections4.bloomfilter;
 
 /**
- * A Hasher creates {@link IndexExtractor}s based on the hash implementation 
and the
- * provided {@link Shape}.
+ * A Hasher creates {@link IndexExtractor}s based on the hash implementation 
and the provided {@link Shape}.
  *
  * @since 4.5.0
  */
@@ -27,16 +26,22 @@ public interface Hasher {
     /**
      * Creates an IndexExtractor for this hasher based on the Shape.
      *
-     * <p>The {@code IndexExtractor} will create indices within the range 
defined by the number of bits in
-     * the shape. The total number of indices will respect the number of hash 
functions per item
-     * defined by the shape. However the count of indices may not be a 
multiple of the number of
-     * hash functions if the implementation has removed duplicates.</p>
+     * <p>
+     * The {@code IndexExtractor} will create indices within the range defined 
by the number of bits in the shape. The total number of indices will respect the
+     * number of hash functions per item defined by the shape. However the 
count of indices may not be a multiple of the number of hash functions if the
+     * implementation has removed duplicates.
+     * </p>
      *
-     * <p>This IndexExtractor must be deterministic in that it must return the 
same indices for the
-     * same Shape.</p>
+     * <p>
+     * This IndexExtractor must be deterministic in that it must return the 
same indices for the same Shape.
+     * </p>
      *
-     * <p>No guarantee is made as to order of indices.</p>
-     * <p>Duplicates indices for a single item may be produced.</p>
+     * <p>
+     * No guarantee is made as to order of indices.
+     * </p>
+     * <p>
+     * Duplicates indices for a single item may be produced.
+     * </p>
      *
      * @param shape the shape of the desired Bloom filter.
      * @return the iterator of integers
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/IndexExtractor.java 
b/src/main/java/org/apache/commons/collections4/bloomfilter/IndexExtractor.java
index 27e1c656c..75a1ef650 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/IndexExtractor.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/IndexExtractor.java
@@ -35,6 +35,7 @@ public interface IndexExtractor {
 
     /**
      * Creates an IndexExtractor from a {@code BitMapExtractor}.
+     *
      * @param bitMapExtractor the {@code BitMapExtractor}
      * @return a new {@code IndexExtractor}.
      */
@@ -64,6 +65,7 @@ public interface IndexExtractor {
 
     /**
      * Creates an IndexExtractor from an array of integers.
+     *
      * @param values the index values
      * @return an IndexExtractor that uses the values.
      */
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/IndexFilter.java 
b/src/main/java/org/apache/commons/collections4/bloomfilter/IndexFilter.java
index 4af7b5a34..26f43cc77 100644
--- a/src/main/java/org/apache/commons/collections4/bloomfilter/IndexFilter.java
+++ b/src/main/java/org/apache/commons/collections4/bloomfilter/IndexFilter.java
@@ -28,6 +28,7 @@ import java.util.function.IntPredicate;
  * @since 4.5.0
  */
 public final class IndexFilter {
+
     /**
      * An IndexTracker implementation that uses an array of integers to track 
whether or not a
      * number has been seen. Suitable for Shapes that have few hash functions.
@@ -59,10 +60,10 @@ public final class IndexFilter {
             return true;
         }
     }
+
     /**
      * An IndexTracker implementation that uses an array of bit maps to track 
whether or not a
      * number has been seen.
-     * @since 4.5.0
      */
     static class BitMapTracker implements IntPredicate {
         private final long[] bits;
@@ -82,8 +83,10 @@ public final class IndexFilter {
             return retval;
         }
     }
+
     /**
      * Creates an instance optimized for the specified shape.
+     *
      * @param shape The shape that is being generated.
      * @param consumer The consumer to accept the values.
      * @return an IndexFilter optimized for the specified shape.
@@ -100,6 +103,7 @@ public final class IndexFilter {
 
     /**
      * Creates an instance optimized for the specified shape.
+     *
      * @param shape The shape that is being generated.
      * @param consumer The consumer to accept the values.
      */
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/IndexUtils.java 
b/src/main/java/org/apache/commons/collections4/bloomfilter/IndexUtils.java
index 50a924aca..09969d598 100644
--- a/src/main/java/org/apache/commons/collections4/bloomfilter/IndexUtils.java
+++ b/src/main/java/org/apache/commons/collections4/bloomfilter/IndexUtils.java
@@ -20,6 +20,7 @@ import java.util.Arrays;
 
 /**
  * Provides functions to assist in IndexExtractor creation and manipulation.
+ *
  * @see IndexExtractor
  */
 final class IndexUtils {
@@ -31,6 +32,7 @@ final class IndexUtils {
 
     /**
      * Ensure the array can add an element at the specified index.
+     *
      * @param array the array to check.
      * @param index the index to add at.
      * @return the array or a newly allocated copy of the array.
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/LayerManager.java 
b/src/main/java/org/apache/commons/collections4/bloomfilter/LayerManager.java
index 2afb352b3..64f71e071 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/LayerManager.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/LayerManager.java
@@ -193,6 +193,7 @@ public class LayerManager<T extends BloomFilter<T>> 
implements BloomFilterExtrac
      * the depth of a LayerManager.
      */
     public static final class ExtendCheck {
+
         /**
          * Creates a new target after a specific number of filters have been 
added to
          * the current target.
@@ -268,8 +269,8 @@ public class LayerManager<T extends BloomFilter<T>> 
implements BloomFilterExtrac
     }
 
     /**
-     * Creates a new Builder with defaults of {@code 
ExtendCheck.neverAdvance()} and
-     * {@code Cleanup.noCleanup()}.
+     * Creates a new Builder with defaults of {@link 
ExtendCheck#neverAdvance()} and
+     * {@link Cleanup#noCleanup()}.
      *
      * @param <T> Type of BloomFilter.
      * @return A builder.
@@ -319,6 +320,7 @@ public class LayerManager<T extends BloomFilter<T>> 
implements BloomFilterExtrac
     /**
      * Forces execution the configured cleanup without creating a new filter 
except in cases
      * where the cleanup removes all the layers.
+     *
      * @see LayerManager.Builder#setCleanup(Consumer)
      */
     void cleanup() {
@@ -408,6 +410,7 @@ public class LayerManager<T extends BloomFilter<T>> 
implements BloomFilterExtrac
     /**
      * Gets the Bloom filter from the last layer.
      * No extension check is performed during this call.
+     *
      * @return The Bloom filter from the last layer.
      * @see #getTarget()
      */
@@ -423,6 +426,7 @@ public class LayerManager<T extends BloomFilter<T>> 
implements BloomFilterExtrac
      * Ths method is used within {@link #getTarget()} when the configured
      * {@code ExtendCheck} returns {@code true}.
      * </p>
+     *
      * @see LayerManager.Builder#setExtendCheck(Predicate)
      * @see LayerManager.Builder#setCleanup(Consumer)
      */
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/LayeredBloomFilter.java
 
b/src/main/java/org/apache/commons/collections4/bloomfilter/LayeredBloomFilter.java
index 2f705d786..621893e37 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/LayeredBloomFilter.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/LayeredBloomFilter.java
@@ -24,40 +24,30 @@ import java.util.function.LongPredicate;
 import java.util.function.Predicate;
 
 /**
- * Layered Bloom filters are described in Zhiwang, Cen; Jungang, Xu; Jian, Sun
- * (2010), "A multi-layer Bloom filter for duplicated URL detection", Proc. 3rd
- * International Conference on Advanced Computer Theory and Engineering (ICACTE
- * 2010), vol. 1, pp. V1-586-V1-591, doi:10.1109/ICACTE.2010.5578947, ISBN
+ * Layered Bloom filters are described in Zhiwang, Cen; Jungang, Xu; Jian, Sun 
(2010), "A multi-layer Bloom filter for duplicated URL detection", Proc. 3rd
+ * International Conference on Advanced Computer Theory and Engineering 
(ICACTE 2010), vol. 1, pp. V1-586-V1-591, doi:10.1109/ICACTE.2010.5578947, ISBN
  * 978-1-4244-6539-2, S2CID 3108985
  * <p>
- * In short, Layered Bloom filter contains several bloom filters arranged in
- * layers.
+ * In short, Layered Bloom filter contains several bloom filters arranged in 
layers.
  * </p>
  * <ul>
- * <li>When membership in the filter is checked each layer in turn is checked
- * and if a match is found {@code true} is returned.</li>
- * <li>When merging each bloom filter is merged into the newest filter in the
- * list of layers.</li>
- * <li>When questions of cardinality are asked the cardinality of the union of
- * the enclosed Bloom filters is used.</li>
+ * <li>When membership in the filter is checked each layer in turn is checked 
and if a match is found {@code true} is returned.</li>
+ * <li>When merging each bloom filter is merged into the newest filter in the 
list of layers.</li>
+ * <li>When questions of cardinality are asked the cardinality of the union of 
the enclosed Bloom filters is used.</li>
  * </ul>
  * <p>
- * The net result is that the layered Bloom filter can be populated with more
- * items than the Shape would indicate and yet still return a false positive
- * rate in line with the Shape and not the over population.
+ * The net result is that the layered Bloom filter can be populated with more 
items than the Shape would indicate and yet still return a false positive rate 
in
+ * line with the Shape and not the over population.
  * </p>
  * <p>
- * This implementation uses a LayerManager to handle the manipulation of the
- * layers.
+ * This implementation uses a LayerManager to handle the manipulation of the 
layers.
  * </p>
  * <ul>
  * <li>Level 0 is the oldest layer and the highest level is the newest.</li>
  * <li>There is always at least one enclosed filter.</li>
  * <li>The newest filter is the {@code target} into which merges are performed.
- * <li>Whenever the target is retrieved, or a {@code merge} operation is
- * performed the code checks if any older layers should be removed, and if so
- * removes them. It also checks it a new layer should be added, and if so adds
- * it and sets the {@code target} before the operation.</li>
+ * <li>Whenever the target is retrieved, or a {@code merge} operation is 
performed the code checks if any older layers should be removed, and if so 
removes
+ * them. It also checks it a new layer should be added, and if so adds it and 
sets the {@code target} before the operation.</li>
  * </ul>
  *
  * @param <T> The type of Bloom Filter that is used for the layers.
@@ -118,8 +108,7 @@ public class LayeredBloomFilter<T extends BloomFilter<T>> 
implements BloomFilter
     }
 
     /**
-     * Forces the execution of the cleanup Consumer that was provided when the 
associated LayerManager
-     * was built.
+     * Forces the execution of the cleanup Consumer that was provided when the 
associated LayerManager was built.
      *
      * @see LayerManager.Builder#setCleanup(java.util.function.Consumer)
      */
@@ -138,11 +127,9 @@ public class LayeredBloomFilter<T extends BloomFilter<T>> 
implements BloomFilter
     }
 
     /**
-     * Returns {@code true} if this any layer contained by this filter 
contains the
-     * specified filter.
+     * Returns {@code true} if this any layer contained by this filter 
contains the specified filter.
      * <p>
-     * If the {@code other} is a BloomFilterExtractor each filter within the
-     * {@code other} is checked to see if it exits within this filter.
+     * If the {@code other} is a BloomFilterExtractor each filter within the 
{@code other} is checked to see if it exits within this filter.
      * </p>
      *
      * @param other the other Bloom filter
@@ -150,18 +137,14 @@ public class LayeredBloomFilter<T extends BloomFilter<T>> 
implements BloomFilter
      */
     @Override
     public boolean contains(final BloomFilter other) {
-        return other instanceof BloomFilterExtractor ? 
contains((BloomFilterExtractor) other)
-                : !processBloomFilters(x -> !x.contains(other));
+        return other instanceof BloomFilterExtractor ? 
contains((BloomFilterExtractor) other) : !processBloomFilters(x -> 
!x.contains(other));
     }
 
     /**
-     * Returns {@code true} if each filter within the {@code 
bloomFilterExtractor} exits within
-     * this filter.
+     * Returns {@code true} if each filter within the {@code 
bloomFilterExtractor} exits within this filter.
      *
-     * @param bloomFilterExtractor the BloomFilterExtractor that provides the 
filters to check
-     *                 for.
-     * @return {@code true} if this filter contains all of the filters 
contained in
-     *         the {@code bloomFilterExtractor}.
+     * @param bloomFilterExtractor the BloomFilterExtractor that provides the 
filters to check for.
+     * @return {@code true} if this filter contains all of the filters 
contained in the {@code bloomFilterExtractor}.
      */
     public boolean contains(final BloomFilterExtractor bloomFilterExtractor) {
         final boolean[] result = { true };
@@ -290,8 +273,7 @@ public class LayeredBloomFilter<T extends BloomFilter<T>> 
implements BloomFilter
     }
 
     /**
-     * Create a standard (non-layered) Bloom filter by merging all of the 
layers. If
-     * the filter is empty this method will return an empty Bloom filter.
+     * Create a standard (non-layered) Bloom filter by merging all of the 
layers. If the filter is empty this method will return an empty Bloom filter.
      *
      * @return the merged bloom filter.
      */
@@ -314,8 +296,7 @@ public class LayeredBloomFilter<T extends BloomFilter<T>> 
implements BloomFilter
     }
 
     /**
-     * Gets the depth of the deepest layer. The minimum value returned by this
-     * method is 1.
+     * Gets the depth of the deepest layer. The minimum value returned by this 
method is 1.
      *
      * @return the depth of the deepest layer.
      */
@@ -349,8 +330,7 @@ public class LayeredBloomFilter<T extends BloomFilter<T>> 
implements BloomFilter
     }
 
     /**
-     * Forces and advance to the next layer. This method will clean-up the 
current
-     * layers and generate a new filter layer. In most cases is it unnecessary 
to
+     * Forces and advance to the next layer. This method will clean-up the 
current layers and generate a new filter layer. In most cases is it unnecessary 
to
      * call this method directly.
      *
      * @see LayerManager.Builder#setCleanup(java.util.function.Consumer)
@@ -366,13 +346,11 @@ public class LayeredBloomFilter<T extends BloomFilter<T>> 
implements BloomFilter
     }
 
     /**
-     * Processes the Bloom filters in depth order with the most recent filters
-     * first. Each filter is passed to the predicate in turn. The function 
exits on
-     * the first {@code false} returned by the predicate.
+     * Processes the Bloom filters in depth order with the most recent filters 
first. Each filter is passed to the predicate in turn. The function exits on the
+     * first {@code false} returned by the predicate.
      *
      * @param bloomFilterPredicate the predicate to execute.
-     * @return {@code true} if all filters passed the predicate, {@code false}
-     *         otherwise.
+     * @return {@code true} if all filters passed the predicate, {@code false} 
otherwise.
      */
     @Override
     public final boolean processBloomFilters(final Predicate<BloomFilter> 
bloomFilterPredicate) {
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/LongBiPredicate.java
 
b/src/main/java/org/apache/commons/collections4/bloomfilter/LongBiPredicate.java
index 6372da6bd..a5a1a67a4 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/LongBiPredicate.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/LongBiPredicate.java
@@ -19,8 +19,9 @@ package org.apache.commons.collections4.bloomfilter;
 /**
  * Represents a function that accepts a two long-valued argument and produces 
a binary result.
  * This is the long-consuming primitive specialization for {@code BiPredicate}.
- *
+ * <p>
  * This is a functional interface whose functional method is {@code 
test(long,long)}.
+ * </p>
  *
  * @since 4.5.0
  */
@@ -29,6 +30,7 @@ public interface LongBiPredicate {
 
     /**
      * A function that takes to long arguments and returns a boolean.
+     *
      * @param x the first long argument.
      * @param y the second long argument.
      * @return true or false.
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/SetOperations.java 
b/src/main/java/org/apache/commons/collections4/bloomfilter/SetOperations.java
index 5226b35b1..bef33eb43 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/SetOperations.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/SetOperations.java
@@ -27,7 +27,8 @@ public final class SetOperations {
 
     /**
      * Calculates the cardinality of the logical {@code AND} of the bit maps 
for the two filters.
-     * @param first the first BitMapExtractor.
+     *
+     * @param first  the first BitMapExtractor.
      * @param second the second BitMapExtractor
      * @return the cardinality of the {@code AND} of the filters.
      */
@@ -36,8 +37,8 @@ public final class SetOperations {
     }
 
     /**
-     * Calculates the cardinality of a BitMapExtractor. By necessity this 
method will visit each bit map
-     * created by the bitMapExtractor.
+     * Calculates the cardinality of a BitMapExtractor. By necessity this 
method will visit each bit map created by the bitMapExtractor.
+     *
      * @param bitMapExtractor the extractor to calculate the cardinality for.
      * @return the cardinality of the bit maps produced by the bitMapExtractor.
      */
@@ -51,11 +52,11 @@ public final class SetOperations {
     }
 
     /**
-     * Calculates the cardinality of the result of a LongBinaryOperator using 
the
-     * {@code BitMapExtractor.makePredicate} method.
-     * @param first the first BitMapExtractor
+     * Calculates the cardinality of the result of a LongBinaryOperator using 
the {@code BitMapExtractor.makePredicate} method.
+     *
+     * @param first  the first BitMapExtractor
      * @param second the second BitMapExtractor
-     * @param op a long binary operation on where x = {@code first} and y = 
{@code second} bitmap extractors.
+     * @param op     a long binary operation on where x = {@code first} and y 
= {@code second} bitmap extractors.
      * @return the calculated cardinality.
      */
     private static int cardinality(final BitMapExtractor first, final 
BitMapExtractor second, final LongBinaryOperator op) {
@@ -70,10 +71,11 @@ public final class SetOperations {
 
     /**
      * Calculates the Cosine distance between two BitMapExtractor.
+     * <p>
+     * Cosine distance is defined as {@code 1 - Cosine similarity}
+     * </p>
      *
-     * <p>Cosine distance is defined as {@code 1 - Cosine similarity}</p>
-     *
-     * @param first the first BitMapExtractor.
+     * @param first  the first BitMapExtractor.
      * @param second the second BitMapExtractor.
      * @return the jaccard distance.
      */
@@ -83,12 +85,14 @@ public final class SetOperations {
 
     /**
      * Calculates the Cosine similarity between two BitMapExtractors.
-     * <p> Also known as Orchini similarity and the Tucker coefficient of 
congruence or
-     * Ochiai similarity.</p>
-     *
-     * <p>If either extractor is empty the result is 0 (zero)</p>
+     * <p>
+     * Also known as Orchini similarity and the Tucker coefficient of 
congruence or Ochiai similarity.
+     * </p>
+     * <p>
+     * If either extractor is empty the result is 0 (zero)
+     * </p>
      *
-     * @param first the first BitMapExtractor.
+     * @param first  the first BitMapExtractor.
      * @param second the second BitMapExtractor.
      * @return the Cosine similarity.
      */
@@ -101,14 +105,17 @@ public final class SetOperations {
 
     /**
      * Calculates the Cosine similarity between two Bloom filters.
-     * <p> Also known as Orchini similarity and the Tucker coefficient of 
congruence or
-     * Ochiai similarity.</p>
-     *
-     * <p>If either filter is empty (no enabled bits) the result is 0 
(zero)</p>
+     * <p>
+     * Also known as Orchini similarity and the Tucker coefficient of 
congruence or Ochiai similarity.
+     * </p>
+     * <p>
+     * If either filter is empty (no enabled bits) the result is 0 (zero)
+     * </p>
+     * <p>
+     * This is a version of cosineSimilarity optimized for Bloom filters.
+     * </p>
      *
-     * <p>This is a version of cosineSimilarity optimized for Bloom 
filters.</p>
-     *
-     * @param first the first Bloom filter.
+     * @param first  the first Bloom filter.
      * @param second the second Bloom filter.
      * @return the Cosine similarity.
      */
@@ -122,7 +129,7 @@ public final class SetOperations {
     /**
      * Calculates the Hamming distance between two BitMapExtractors.
      *
-     * @param first the first BitMapExtractor.
+     * @param first  the first BitMapExtractor.
      * @param second the second BitMapExtractor.
      * @return the Hamming distance.
      */
@@ -132,10 +139,11 @@ public final class SetOperations {
 
     /**
      * Calculates the Jaccard distance between two BitMapExtractor.
+     * <p>
+     * Jaccard distance is defined as {@code 1 - Jaccard similarity}
+     * </p>
      *
-     * <p>Jaccard distance is defined as {@code 1 - Jaccard similarity}</p>
-     *
-     * @param first the first BitMapExtractor.
+     * @param first  the first BitMapExtractor.
      * @param second the second BitMapExtractor.
      * @return the Jaccard distance.
      */
@@ -145,10 +153,11 @@ public final class SetOperations {
 
     /**
      * Calculates the Jaccard similarity between two BitMapExtractor.
+     * <p>
+     * Also known as Jaccard index, Intersection over Union, and Jaccard 
similarity coefficient
+     * </p>
      *
-     * <p>Also known as Jaccard index, Intersection over Union, and Jaccard 
similarity coefficient</p>
-     *
-     * @param first the first BitMapExtractor.
+     * @param first  the first BitMapExtractor.
      * @param second the second BitMapExtractor.
      * @return the Jaccard similarity.
      */
@@ -165,7 +174,8 @@ public final class SetOperations {
 
     /**
      * Calculates the cardinality of the logical {@code OR} of the bit maps 
for the two filters.
-     * @param first the first BitMapExtractor.
+     *
+     * @param first  the first BitMapExtractor.
      * @param second the second BitMapExtractor
      * @return the cardinality of the {@code OR} of the filters.
      */
@@ -175,7 +185,8 @@ public final class SetOperations {
 
     /**
      * Calculates the cardinality of the logical {@code XOR} of the bit maps 
for the two filters.
-     * @param first the first BitMapExtractor.
+     *
+     * @param first  the first BitMapExtractor.
      * @param second the second BitMapExtractor
      * @return the cardinality of the {@code XOR} of the filters.
      */
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/Shape.java 
b/src/main/java/org/apache/commons/collections4/bloomfilter/Shape.java
index 5ce28a79e..673767eeb 100644
--- a/src/main/java/org/apache/commons/collections4/bloomfilter/Shape.java
+++ b/src/main/java/org/apache/commons/collections4/bloomfilter/Shape.java
@@ -93,7 +93,7 @@ public final class Shape {
     /**
      * ln(1 / 2^ln(2)). Used in calculating the number of bits. Approximately 
-0.480453013918201.
      *
-     * <p>ln(1 / 2^ln(2)) = ln(1) - ln(2^ln(2)) = -ln(2) * ln(2)
+     * <p>ln(1 / 2^ln(2)) = ln(1) - ln(2^ln(2)) = -ln(2) * ln(2)</p>
      */
     private static final double DENOMINATOR = -LN_2 * LN_2;
 
@@ -121,11 +121,12 @@ public final class Shape {
     }
 
     /**
-     * Check the calculated probability is {@code < 1.0}.
+     * Checks the calculated probability is {@code < 1.0}.
      *
-     * <p>This function is used to verify that the dynamically calculated 
probability for the
-     * Shape is in the valid range 0 to 1 exclusive. This need only be 
performed once upon
-     * construction.
+     * <p>
+     * This function is used to verify that the dynamically calculated 
probability for the Shape is in the valid range 0 to 1 exclusive. This need 
only be
+     * performed once upon construction.
+     * </p>
      *
      * @param probability the probability
      * @throws IllegalArgumentException if the probability is {@code >= 1.0}.
@@ -141,7 +142,7 @@ public final class Shape {
     }
 
     /**
-     * Check number of bits is strictly positive.
+     * Checks number of bits is strictly positive.
      *
      * @param numberOfBits the number of bits
      * @return the number of bits
@@ -155,7 +156,7 @@ public final class Shape {
     }
 
     /**
-     * Check number of hash functions is strictly positive.
+     * Checks number of hash functions is strictly positive.
      *
      * @param numberOfHashFunctions the number of hash functions
      * @return the number of hash functions
@@ -169,7 +170,7 @@ public final class Shape {
     }
 
     /**
-     * Check number of items is strictly positive.
+     * Checks number of items is strictly positive.
      *
      * @param numberOfItems the number of items
      * @return the number of items
@@ -183,7 +184,7 @@ public final class Shape {
     }
 
     /**
-     * Check the probability is in the range 0.0, exclusive, to 1.0, exclusive.
+     * Checks the probability is in the range 0.0, exclusive, to 1.0, 
exclusive.
      *
      * @param probability the probability
      * @throws IllegalArgumentException if the probability is not in the range 
{@code (0, 1)}
@@ -472,10 +473,12 @@ public final class Shape {
      * <p>This method assumes that bit maps are 64bits and indexes are 32bits. 
If the memory
      * necessary to store the cardinality as indexes is less than the 
estimated memory for bit maps,
      * the cardinality is determined to be {@code sparse}.</p>
+     *
      * @param cardinality the cardinality to check.
      * @return true if the cardinality is sparse within the shape.
      */
     public boolean isSparse(final int cardinality) {
+
         /*
          * Since the size of a bit map is a long and the size of an index is 
an int,
          * there can be 2 indexes for each bit map. In Bloom filters indexes 
are evenly
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/SimpleBloomFilter.java
 
b/src/main/java/org/apache/commons/collections4/bloomfilter/SimpleBloomFilter.java
index f98fceeb8..32fe7c5bd 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/SimpleBloomFilter.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/SimpleBloomFilter.java
@@ -22,8 +22,7 @@ import java.util.function.IntPredicate;
 import java.util.function.LongPredicate;
 
 /**
- * A bloom filter using an array of bit maps to track enabled bits. This is a 
standard
- * implementation and should work well for most Bloom filters.
+ * A bloom filter using an array of bit maps to track enabled bits. This is a 
standard implementation and should work well for most Bloom filters.
  *
  * @since 4.5.0
  */
@@ -58,6 +57,7 @@ public final class SimpleBloomFilter implements 
BloomFilter<SimpleBloomFilter> {
 
     /**
      * Copy constructor for {@code copy()} use.
+     *
      * @param source
      */
     private SimpleBloomFilter(final SimpleBloomFilter source) {
@@ -133,14 +133,12 @@ public final class SimpleBloomFilter implements 
BloomFilter<SimpleBloomFilter> {
                 final long excess = bitMap[idxLimit] >> 
shape.getNumberOfBits();
                 if (excess != 0) {
                     throw new IllegalArgumentException(
-                            String.format("BitMapExtractor set a bit higher 
than the limit for the shape: %s",
-                                    shape.getNumberOfBits()));
+                            String.format("BitMapExtractor set a bit higher 
than the limit for the shape: %s", shape.getNumberOfBits()));
                 }
             }
             cardinality = -1;
         } catch (final IndexOutOfBoundsException e) {
-            throw new IllegalArgumentException(
-                    String.format("BitMapExtractor should send at most %s 
maps", bitMap.length), e);
+            throw new IllegalArgumentException(String.format("BitMapExtractor 
should send at most %s maps", bitMap.length), e);
         }
         return true;
     }
@@ -167,8 +165,7 @@ public final class SimpleBloomFilter implements 
BloomFilter<SimpleBloomFilter> {
         Objects.requireNonNull(indexExtractor, "indexExtractor");
         indexExtractor.processIndices(idx -> {
             if (idx < 0 || idx >= shape.getNumberOfBits()) {
-                throw new IllegalArgumentException(String.format(
-                        "IndexExtractor should only send values in the 
range[0,%s)", shape.getNumberOfBits()));
+                throw new 
IllegalArgumentException(String.format("IndexExtractor should only send values 
in the range[0,%s)", shape.getNumberOfBits()));
             }
             BitMaps.set(bitMap, idx);
             return true;
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/SparseBloomFilter.java
 
b/src/main/java/org/apache/commons/collections4/bloomfilter/SparseBloomFilter.java
index b7f15ddfa..6a1c06bd7 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/SparseBloomFilter.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/SparseBloomFilter.java
@@ -24,6 +24,7 @@ import java.util.function.LongPredicate;
 /**
  * A bloom filter using a TreeSet of integers to track enabled bits. This is a 
standard
  * implementation and should work well for most low cardinality Bloom filters.
+ *
  * @since 4.5.0
  */
 public final class SparseBloomFilter implements BloomFilter<SparseBloomFilter> 
{
@@ -56,6 +57,7 @@ public final class SparseBloomFilter implements 
BloomFilter<SparseBloomFilter> {
 
     /**
      * Adds the index to the indices.
+     *
      * @param idx the index to add.
      * @return {@code true} always
      */
@@ -160,10 +162,10 @@ public final class SparseBloomFilter implements 
BloomFilter<SparseBloomFilter> {
     public boolean processBitMaps(final LongPredicate consumer) {
         Objects.requireNonNull(consumer, "consumer");
         final int limit = BitMaps.numberOfBitMaps(shape);
-        /*
-         * because our indices are always in order we can shorten the time 
necessary to
-         * create the longs for the consumer
-         */
+        //
+        // because our indices are always in order we can shorten the time 
necessary to
+        // create the longs for the consumer
+        //
         // the currently constructed bitMap
         long bitMap = 0;
         // the bitmap we are working on
diff --git 
a/src/main/java/org/apache/commons/collections4/bloomfilter/WrappedBloomFilter.java
 
b/src/main/java/org/apache/commons/collections4/bloomfilter/WrappedBloomFilter.java
index 9b3d9b629..af33365db 100644
--- 
a/src/main/java/org/apache/commons/collections4/bloomfilter/WrappedBloomFilter.java
+++ 
b/src/main/java/org/apache/commons/collections4/bloomfilter/WrappedBloomFilter.java
@@ -33,6 +33,7 @@ public abstract class WrappedBloomFilter<T extends 
WrappedBloomFilter<T, W>, W e
     /**
      * Wraps a Bloom filter.  The wrapped filter is maintained as a reference
      * not a copy.  Changes in one will be reflected in the other.
+     *
      * @param wrapped The Bloom filter.
      */
     public WrappedBloomFilter(final W wrapped) {

Reply via email to