private ChordNode closestPredFinger(int id) {
		for (int i = this.fingerTable.length - 1; i >= 0; i--) {
			ChordNode finger = getFinger(i);
			// finger[i] between [nodeId, id]
			if ((this.getId() != finger.getId())
					&& isBetween(finger.getId(), this.getId(), id)) {
				if (logEnabled) {
					System.out.format("Passed node %d at FT[%d]%n",
							finger.getId(), i + 1);
				}
				return finger;
			}
		}
		return this.successor;
	}