public static Iterable<MutableLongTuple> clampingIterable(
        LongTuple min, LongTuple max, 
        final Iterable<? extends MutableLongTuple> delegate)
    {
        Objects.requireNonNull(delegate, "The delegate is null");
        LongTuple localMin = LongTuples.copy(min);
        LongTuple localMax = LongTuples.copy(max);
        return () -> LongTupleIterators.clampingIteratorInternal(
            localMin, localMax, delegate.iterator());
    }
public static Iterable < MutableLongTuple > clampingIterable ( LongTuple min , LongTuple max , final Iterable < ? extends MutableLongTuple > delegate ) { Objects . requireNonNull ( delegate , "The delegate is null" ) ; LongTuple localMin = LongTuples . copy ( min ) ; LongTuple localMax = LongTuples . copy ( max ) ; return ( ) -> LongTupleIterators . clampingIteratorInternal ( localMin , localMax , delegate . iterator ( ) ) ; }
Creates an iterable from the given delegate that creates iterators
that return the {@link MutableLongTuple}s created by the iterators of
the given delegate that are contained in the given bounds.<br>
<br>
<b>Note:</b> The caller is responsible for making sure that
the tuples returned by the given delegate have the same
{@link Tuple#getSize()} as the given bounds. This method can
not check this internally. If the sizes are different, the
behavior of the returned iterable is unspecified.

@param min The minimum, inclusive. A copy of this tuple will be
stored internally.
@param max The maximum, exclusive. A copy of this tuple will be
stored internally.
@param delegate The delegate
@return The iterable