public void persistentRequestRemoved(final FcpPersistentPut uploadRequest) {
   if (uploadModelItems.containsKey(uploadRequest.getIdentifier())) {
     final FrostUploadItem ulItem = uploadModelItems.get(uploadRequest.getIdentifier());
     if (ulItem.isExternal()) {
       SwingUtilities.invokeLater(
           new Runnable() {
             public void run() {
               List<FrostUploadItem> itemList = new ArrayList<FrostUploadItem>();
               itemList.add(ulItem);
               uploadModel.removeItems(itemList);
             }
           });
     } else {
       if (ulItem.isInternalRemoveExpected()) {
         ulItem.setInternalRemoveExpected(false); // clear flag
       } else if (ulItem.getState() != FrostUploadItem.STATE_DONE) {
         ulItem.setEnabled(false);
         ulItem.setState(FrostUploadItem.STATE_FAILED);
         ulItem.setErrorCodeDescription("Disappeared from global queue");
       }
     }
   }
 }