public boolean remove(Link<Integer> link)
   {
      Link<Integer> position = this.head;
      
      if (link == null || this.head == null)
      {
         return false;
      }
      
      if (link.equals(this.head))
      {
         this.head = link.getNext();
         if (this.head == null)
         {
            this.tail = null;
         }
         return true;
      }
      
      while (position != null)
      {
         if (position.getNext().equals(link))
         {
            position.setNext(link.getNext());
            if (position.getNext() == null)
            {
               this.tail = position;
            }
            
            return true;
         }
      }
         
      return false;  
   }