y);
        });
    }

    function openLeftTable(table) {
        // correctly disconnect from the old table, if any
        oldLeftTableHandlerCleanup && oldLeftTableHandlerCleanup();
        currentLeftTable && currentLeftTable.close();
        currentLeftTable = table;
        leftOffset = 0;

        oldLeftTableHandlerCleanup = buildTable(leftPagingTable, table);

        // load the very first page
        load(table, leftOffset);

        return handleCleanup;
    }

    function openRightTable(tabl