diff --git a/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/AreIn.java b/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/AreIn.java
index 2e4f1578a..50cddb5cb 100644
--- a/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/AreIn.java
+++ b/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/AreIn.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2017-2022 Crown Copyright
+ * Copyright 2017-2025 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -37,9 +37,9 @@
* An AreIn
is a {@link java.util.function.BiPredicate}
* that checks if a provided {@link java.util.Collection} contains all the provided input values.
*
- * There is also a nullOrEmptyAllowedValuesAccepted flag which defaults to true.
- * If the provided allowedValues collection is null or empty, the flag's value
- * will be used as the result for any input test.
+ * An optional nullOrEmptyAllowedValuesAccepted flag (defaults to true) can determine
+ * whether the provided allowedValues collection can be null or empty. The return value
+ * for any null or empty input will be equal to the value of the nullOrEmptyAllowedValuesAccepted flag.
*/
@Since("1.0.0")
@Summary("Checks if a provided collection contains all the provided input values")
diff --git a/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/CollectionContains.java b/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/CollectionContains.java
index 77ee10de5..bcd62a80c 100644
--- a/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/CollectionContains.java
+++ b/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/CollectionContains.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2017-2022 Crown Copyright
+ * Copyright 2017-2025 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -30,6 +30,9 @@
/**
* An CollectionContains
is a {@link java.util.function.Predicate}
* that checks if a {@link java.util.Collection} contains a provided value.
+ *
+ * If the collection contains null values or is empty, then false will be returned.
+ *
*/
@Since("1.0.0")
@Summary("Checks if a collection contains a provided value")
diff --git a/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/IsIn.java b/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/IsIn.java
index e5300b63e..b6dfc910d 100644
--- a/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/IsIn.java
+++ b/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/IsIn.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2017-2020 Crown Copyright
+ * Copyright 2017-2025 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -34,7 +34,7 @@
import java.util.Set;
/**
- * An IsIn
is a {@link java.util.function.Predicate} that checks that the input is
+ * IsIn
is a {@link java.util.function.Predicate} that checks that the input is
* in a set of allowed values.
*/
@Since("1.0.0")
diff --git a/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/range/InDateRangeDual.java b/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/range/InDateRangeDual.java
index 109982241..dbbe0bd95 100644
--- a/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/range/InDateRangeDual.java
+++ b/core/src/main/java/uk/gov/gchq/koryphe/impl/predicate/range/InDateRangeDual.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2017-2020 Crown Copyright
+ * Copyright 2017-2025 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -29,23 +29,27 @@
/**
*
* An InDateRangeDual
is a {@link java.util.function.Predicate}
- * that tests if a start {@link Comparable} and end {@link Comparable} is
- * within a provided range [start, end]. Specifically the start {@link Comparable}
- * has to be greater than the start bound and the end {@link Comparable} has to
- * be less than the end bound.
- * By default the range is inclusive, you can toggle this using the startInclusive
- * and endInclusive booleans.
+ * that tests if there is an overlap between a start {@link Comparable} and
+ * end {@link Comparable} within a provided range [start, end].
+ *
+ * The provided start and end dates do not need to be within the range configured,
+ * they only need to overlap. To ensure the provided start and/or end are within the
+ * configured range the booleans startFullyContained and/or
+ * endFullyContained> should be set to true (false by default).
+ *
+ * By default the start and end date comparison is inclusive,
+ * you can toggle this using the startInclusive and endInclusive
+ * booleans.
*
- * If the start is not set then this will be treated as unbounded. - * Similarly with the end. + * If the start or end are not set then they will be treated as unbounded. *
** If the test value is null then the predicate will return false. *
** This range predicate takes 2 values to test, if you want to test - * a single value lies within a range then you can use the + * whether a single value lies within a range then you should use the * {@link InDateRange} predicate. *
*@@ -55,8 +59,8 @@ * By default the offset is measured in Days, this can be changed to * DAY, HOUR, MINUTE, SECOND and MILLISECOND using the offsetUnit field. *
- * At the point when test is called on the class the - * current system time is used to calculate the start and end values based on: + * When the test is called on the class the current system time is used + * to calculate the start and end values based on: * System.currentTimeMillis() + offset. *
*
diff --git a/core/src/main/java/uk/gov/gchq/koryphe/util/RangeUtil.java b/core/src/main/java/uk/gov/gchq/koryphe/util/RangeUtil.java
index fff1834f8..09290bfa8 100644
--- a/core/src/main/java/uk/gov/gchq/koryphe/util/RangeUtil.java
+++ b/core/src/main/java/uk/gov/gchq/koryphe/util/RangeUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2017-2020 Crown Copyright
+ * Copyright 2017-2025 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -31,7 +31,7 @@ private RangeUtil() {
* @param startValue the start value to test
* @param endValue the end value to test
* @param rangeStart the start of the defined allowed range
- * @param rangeEnd the start of the defined allowed range
+ * @param rangeEnd the end of the defined allowed range
* @param startInclusive true if the start of the range is inclusive
* @param endInclusive true if the end of the range is inclusive
* @param