public static void menuRemoveVisit(HousePetList hpArray)
    {
        int userChipID = 0;
        HousePet tempHousePet = new HousePet(); /* new HP created with default chipID */
        @SuppressWarnings("resource")
        Scanner console = new Scanner(System.in);
        boolean containsHousePet = false;
        String visitID = "";
        String visitDate = "";
        boolean hasBeenRemoved = false;
        
        /* prompt for chipID */
        System.out.println("Please enter the chipID of the HousePet you would like to " +
            "cancel a visit for.");
        
        try 
        {
            userChipID = console.nextInt();
            tempHousePet.setChipId(userChipID);           
        }
        catch(InputMismatchException e)
        {
            System.out.println("Error: a non-int was entered " + e);
        }
        catch(NoSuchElementException e)
        {
            System.out.println("Error: no console input found " + e);
        }
        catch(IllegalStateException e)
        {
            System.out.println("Error: Scanner is closed " + e);
        }
        
        /* check if hpArray contains a HousePet with chipID matching that of tempHousePet */ 
        containsHousePet = hpArray.contains(tempHousePet);
        
        /* if HousePet with matching chipID not found in hpArray, display msg to user;
         * otherwise, display the HousePet's data so user can more easily decide which
         * visit they want to remove, then ask them for visitID and date for the visit
         * they want removed from visitList for that HousePet
         */
        if(containsHousePet == false)
        {
            System.out.println("Invalid chipID entered: no HousePet with chipID " +
                userChipID + " in the list");
            
        }//end IF(containsHousePet == false)
        
        else  //if(containsHousePet == true)
        {
            VetVisit visitToRemove = new VetVisitStandard(); //just assigning a type
            
            /* prompt user to specify which visit theyd like removed from the visitList */
            System.out.println("All attributes for the HousePet with chipID " + 
                    tempHousePet.getChipId() + " are shown below.");
            
            ((HousePetListImpl) hpArray).displayHousePet(tempHousePet);
            
            System.out.print("Please enter the visitID for the visit you wish to cancel: ");
            visitID = console.next();
            console.nextLine();
            
            System.out.print("Please enter the date for the visit you wish to cancel: ");
            visitDate = console.next();
            console.nextLine();
            
            System.out.println();
            
            visitToRemove.setVisitID(visitID);
            visitToRemove.setDate(visitDate);
            
            /* try to remove the VetVisit from HousePet's visitList; callee method will
             * see to it that visitCount is decremented if removal successful, and that
             * the info for the removed visit is written to to cancellations file
             * 'cancel.txt' */
            hasBeenRemoved = hpArray.removeVetVisit(tempHousePet.getChipId(), visitToRemove);
            
        }//end ELSE(IF(containsHousePet == true))
        
        /* determine message to display to user depending on whether visit has been
         * removed from visitList */
        if(hasBeenRemoved == true)  //hasBeenRemoved still false if HP not found in list
        {
            System.out.println("The visit has been added to the cancellations file " +
                    "\"cancel.txt\". The modified HousePet data is shown below.");
            
            ((HousePetListImpl) hpArray).displayHousePet(tempHousePet);
        }
        
        else  //if(hasBeenRemoved == false)
        {
            System.out.println("Unable to remove VetVisit.");
        }
            
        return;            
            
    }//end menuRemoveVisit()