public void insert(ItemRecord a) {
     		Node newNode = new Node(a);    		// make new node
     						 	// newNode.i = a;           
     		int id = newNode.iData;   
     		if (root == null) {	                // no node in root
         		root = newNode;
			size++;
			return;
      		} else {                          	// root occupied
         		Node current = root;       	// start at root
         		Node parent;
        		while(true) {                	// (exits internally)
            			parent = current;
            			if (id < current.iData) {
               				current = current.leftChild;
					if (current == null) {  
                  				parent.leftChild = newNode;
						size++;
                  				return;
                  			}
               			} else if (id >= current.iData) {  
                  			current = current.rightChild;
					if (current == null) { 
                  				parent.rightChild = newNode;
						size++;
                  				return;
                  			}
                  		} 
            		}  
		}
        }