public LocalTieredStorageCondition and(final LocalTieredStorageCondition conjuct) {
        //
        // To keep things simple, only authorize to append to the condition chain of elementary (not composed)
        // conditions. It also allows to protect from cycles.
        //
        if (conjuct.next != null) {
            throw new IllegalArgumentException(
                    format("The condition %s is already composed, cannot add it to %s", conjuct, this));
        }
        if (conjuct == this) {
            throw new IllegalArgumentException(
                    format("The condition %s cannot be added to itself", this));
        }
        //
        // Note: There is no upper bound enforced on the length of the chain of conditions.
        //       This class is for tests only!
        //
        return new LocalTieredStorageCondition(this, next != null ? next.and(conjuct) : conjuct);
    }
Formulates a new condition which is true if and only if this condition and the {@code conjuct}
provided as argument are both true.

@param conjuct Another condition which truth is required for the resulting new condition to be true.
@return A new condition which is true iff this condition and {@code conjuct} are both true.
storage/src/test/java/org/apache/kafka/server/log/remote/storage/LocalTieredStorageCondition.java