@Override
    @NotNull
    public BTreeMutable getMutableCopy() {
        final BTreeMutable result = new BTreeMutable(this);
        result.addExpiredLoggable(rootLoggable);
        return result;
    }
@Test
    public void testSplitRandom() {
        int s = 10000;
        List<INode> lns = createLNs(s);

        tm = new BTreeEmpty(log, createTestSplittingPolicy(), true, 1).getMutableCopy();

        while (!lns.isEmpty()) {
            final int index = (int) (Math.random() * lns.size());
            INode ln = lns.get(index);
            getTreeMutable().put(ln);
            lns.remove(index);
        }

        checkTree(getTreeMutable(), s).run();

        long rootAddress = saveTree();

        checkTree(getTreeMutable(), s).run();

        reopen();

        t = new BTree(log, rootAddress, true, 1);

        checkTree(getTree(), s).run();
    }