public IteratorInt(Node node) {
		while (!(node instanceof LeafNodeInt)) {
			InternalNodeInt iNode = (InternalNodeInt) node;
			if (!iNode.getChildren().isEmpty()) {
				node = iNode.getChildren().get(0);
			}
		}

		currentNode = (LeafNodeInt) node;
		if (!currentNode.getKVPairs().isEmpty()) {
			currentPos = currentNode.getKVPairs().get(index);
			index++;

			if (index >= currentNode.size()) {
				currentNode = (LeafNodeInt) currentNode.getNext();
				index = 0;

				if (currentNode == null) {
					currentPos = null;
				}
			}
		}
	}