int maxNum = this.localNode.numberOfNodes();
for (int i = 0; i < Math.sqrt(maxNum); i++) {
int nextId = (this.localNode.getId() + (int)Math.pow(2, i)) % P2PFingerTable.MODULO_VALUE;
NodeInterface nodeThatAlreadyExists = this.getEntry(nextId);
if (nodeThatAlreadyExists == null) { // if the node with the id 'nextId' doesn't exists
NodeInterface predecessorOfSearchedNextId = this.getPrevFTEntry(nextId);
NodeInterface nodeWithIdAsNextId = null;
if (predecessorOfSearchedNextId == null) { // no predecessor exists
nodeWithIdAsNextId = this.localNode.lookup(nextId);
} else { // ok, we have a predecessor in the table
nodeWithIdAsNextId = predecessorOfSearchedNextId.lookupChord(nextId);
}