public void insertIntoPosition(HTreeNode node, int position){
    
    /* Checks if node is null. */
    if (node == null)
      return;
    
    /* Creates a new node from node; designates a null next() link. */
    HTreeNode newNode = new HTreeNode(node);
    
    /* The iterator node for the insertion. */
    HTreeNode iterator = getHeadNode();
    
    /* Checks if position is at front of list. */
    if (position == 0 || iterator == null){
      
      /* Set new node as head. */
      newNode.setNext(iterator);
      setHead(newNode);
      
      /* Increment length of linked list. */
      this.length++;
    }
    
    /* Checks if position is greater than list length. */
    if (position >= length()) {
      
      /* Inserts new node at end of list. */
      insertAtEnd(newNode);
      return;
    }
    
    /* Inserts new node if position is greater than 0 and iterator is not null. */
    if (position > 0 && iterator != null) {
      
      /* Finds the node after position in the linked list. */
      for (int i = 0; i < position + 2; i++) {
        
        /* Handles case if iterator is null after position. */
        if (iterator.next() == null) {
          insertAtEnd(newNode);
          return;
        }
        
        /* Continues traversing if iterator is not null. */
        iterator = iterator.next();
      }
      
      /* Call to method to insert node at position. */
      insertBefore(iterator, node);
      
    }
    
  }