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"); } } } }