public Page appendColumn(Block block)
    {
        requireNonNull(block, "block is null");
        if (positionCount != block.getPositionCount()) {
            throw new IllegalArgumentException("Block does not have same position count");
        }

        Block[] newBlocks = Arrays.copyOf(blocks, blocks.length + 1);
        newBlocks[blocks.length] = block;
        return wrapBlocksWithoutCopy(positionCount, newBlocks);
    }
@Test(expectedExceptions = IllegalArgumentException.class)
    public void testAppendColumnsWrongNumberOfRows()
    {
        int entries = 10;
        BlockBuilder blockBuilder = BIGINT.createBlockBuilder(null, entries);
        for (int i = 0; i < entries; i++) {
            BIGINT.writeLong(blockBuilder, i);
        }
        Block block = blockBuilder.build();
        Page page = new Page(block, block);

        BlockBuilder newBlockBuilder = BIGINT.createBlockBuilder(null, entries - 5);
        for (int i = 0; i < entries - 5; i++) {
            BIGINT.writeLong(newBlockBuilder, -i);
        }
        Block newBlock = newBlockBuilder.build();

        page.appendColumn(newBlock);
    }