public HexBufferPoint FilterAndVerify(HexBufferPoint position) {
if (!IsValidPosition(position))
throw new ArgumentOutOfRangeException(nameof(position));
if (position != BufferEnd)
return position;
return BufferStart == BufferEnd ? position : position - 1;
}