public VetVisit remove(VetVisit visitX)
    {    
        boolean visitHasBeenRemoved = false;
        int count = 0;
        
        if(!this.contains(visitX)  || this.visitCount == 0)
        {
            return null;
        }
     
        Node<VetVisit> previousNode = null;
        Node<VetVisit> currentNode = this.firstNode;
        
        while(visitHasBeenRemoved == false && count < this.visitCount)
        {
            count++;
            
            /* if the visit to be removed is found in the list */
            if(currentNode.data.compareTo(visitX) == 0)
            {
                /* if previousNode is not null, modify links to skip over currentNode,
                 * effectively removing visitX
                 */
                if(previousNode != null)
                {
                    previousNode.link = currentNode.link;
                    visitHasBeenRemoved = true;
                    break;
                }
                
                /* if previousNode is null and visitX has been found, that means visitX
                 * is in the position of firstNode, as there is no previous node;
                 * "remove" visitX by changing firstNode into whatever node it currently
                 * is linked to (the next node in the list)
                 */
                else  //if(previousNode == null)
                {
                    this.firstNode = currentNode.link;
                    visitHasBeenRemoved = true;
                    break;
                }              
                
            }//end IF(currentNode.data.compareTo(visitX) == 0)
               
            /* if the currentNode is not the node we're looking to remove, then we need
             * to advance to the next node.
             */
            else
            {
                previousNode = currentNode;
                currentNode = currentNode.link;
                
            }//end ELSE

        }//end WHILE
                
        if(visitHasBeenRemoved == true)
        {
            this.visitCount--;
        }
        
        return currentNode.data;
        
    }//end remove()