int positionCount = getPositionCount();
if (positionOffset < 0 || length < 0 || positionOffset + length > positionCount) {
throw new IndexOutOfBoundsException("Invalid position " + positionOffset + " in block with " + positionCount + " positions");
}
Slice newSlice = sliceOutput.slice().slice(positionOffset * entrySize, length * entrySize);
boolean[] newValueIsNull = Arrays.copyOfRange(valueIsNull, positionOffset, positionOffset + length);
return new FixedWidthBlock(type, length, newSlice, newValueIsNull);
}