public RunLengthEncodedBlockCursor(RandomAccessBlock value, int positionCount) {
    this.value = checkNotNull(value, "value is null");
    checkArgument(
        value.getPositionCount() == 1,
        "Expected value to contain a single position but has %s positions",
        value.getPositionCount());

    checkArgument(positionCount >= 0, "positionCount is negative");
    this.positionCount = positionCount;

    position = -1;
  }