139 boolean contains(T x) {
140 int bottomLevel = 0;
141 int v = x.hashCode();
142 boolean[] marked = {false};
143 Node<T> pred = head, curr = null, succ = null;
144 for (int level = MAX_LEVEL; level >= bottomLevel; level--) {
145 curr = pred.next[level].getReference();
146 while (true) {
147 succ = curr.next[level].get(marked);
148 while (marked[0]) {
149 curr = pred.next[level].getReference();
150 succ = curr.next[level].get(marked);
151 }
152 if (curr.key < v){
153 pred = curr;
154 curr = succ;
155 } else {
156 break;
157 }
158 }
159 }
160 return