diff --git a/Recyclable.Collections/RecyclableList.cs b/Recyclable.Collections/RecyclableList.cs
index 43b5212..20723c2 100644
--- a/Recyclable.Collections/RecyclableList.cs
+++ b/Recyclable.Collections/RecyclableList.cs
@@ -238,6 +238,19 @@ namespace Recyclable.Collections
return itemIndex >= 0 ? itemIndex + ((long)lastBlockIndex << (31 - BitOperations.LeadingZeroCount((uint)blockSize))) : ItemNotFoundIndex;
}
+ ///
+ /// Creates a set of new memory buffers, if needed, to allow storing at minimum no. of items.
+ ///
+ /// that needs to be resized.
+ /// Minimal requested block size. It MUST be rounded to the power of 2, see remarks.
+ /// Pre-calculated bit shifting value for left & right shift operations against.
+ /// The minimum no. of items MUST be able to store after .
+ /// For performance reasons, MUST a power of 2. This simplifies a lot block & item
+ /// index calculations, i.e. makes them logical operations on bits.
+ ///
+ /// This method checks for integral overflow.
+ ///
+ /// The maximum no. of items can store.
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
protected static long Resize(RecyclableList list, int minBlockSize, byte minBlockSizeBitShift, long newCapacity)
{
@@ -247,7 +260,7 @@ namespace Recyclable.Collections
int blockIndex;
Span memoryBlocksSpan;
- // Release excesive blocks if we're downsizing
+ // Release excessive blocks if we're downsizing
if (requiredBlockCount < sourceBlockCount && (minBlockSize >= RecyclableDefaults.MinPooledArrayLength))
{
memoryBlocksSpan = new(list._memoryBlocks, requiredBlockCount, sourceBlockCount - requiredBlockCount);