The class BaseWritableMemoryImpl is in the /internal/ package and not considered part of the user public API. Nonetheless, it is declared pubic because it needs to be accessed from some of the user public API classes (without having to resort to reflection).
Nonetheless, if a user happens to call the method WritableMemory wrapHeapArray(Object array, long offsetBytes, long lengthBytes,
boolean, ByteOrder, MemoryRequestServer) and offsetBytes + lengthBytes > array.length(), the method will create a region longer than the given array, which could lead to downstream errors.
The class BaseWritableMemoryImpl is in the /internal/ package and not considered part of the user public API. Nonetheless, it is declared pubic because it needs to be accessed from some of the user public API classes (without having to resort to reflection).
Nonetheless, if a user happens to call the method WritableMemory wrapHeapArray(Object array, long offsetBytes, long lengthBytes, boolean, ByteOrder, MemoryRequestServer) and offsetBytes + lengthBytes > array.length(), the method will create a region longer than the given array, which could lead to downstream errors.
This is fixed with version 3.0.0.