final int index = (int) (addressKey % PageManager.getDefaultPageSize());
try {
final PageAddress pageAddress = new PageAddress(0, this.keysFilename);
final byte[] page = BufferManager.getBufferManager().getPage(this.TABLEPAGESIZE, pageAddress);
final InputStream in = new ContinousPagesInputStream(pagenumber, new PageManager(this.keysFilename, false, false), index);
final long addressOfValues = InputHelper.readLuposLong(in);
final long numberOfKeyElements = InputHelper.readLuposLong(in);
in.close();
if(numberOfKeyElements>0){
final OutputStream out = new ContinousPagesOutputStream(pagenumber, new PageManager(this.keysFilename, false, false), index);
OutHelper.writeLuposLong(addressOfValues, out);
OutHelper.writeLuposLong(0, out);
out.close();
BufferManager.getBufferManager().modifyPage(this.TABLEPAGESIZE, pageAddress, page);
return numberOfKeyElements;