public E get(int i) {
		if (i >= size || i < 0)
			return null;
		
		Stack<Node> stack = new Stack<Node>();
		int counter = 0;
		Node node = root;
		
		while (true) {
			if (node != null) {
				stack.push(node);
				node = node.left;
			} else {
				node = stack.pop();
				if (counter++ == i)
					return node.data;
				node = node.right;
			}
		}
	}