// Runnable Implementation --------------------------------------------
public void run() {
RemovePackagesResponse response;
try {
response = contentManager.performPackageDelete(request.getResourceId(), request.getPackages());
} catch (Throwable throwable) {
response = new RemovePackagesResponse(ContentResponseResult.FAILURE);
response.setOverallRequestErrorMessage(ThrowableUtil.getStackAsString(throwable));
}
// We don't rely on the plugin to map up the response to the request ID, so we do it here
response.setRequestId(request.getRequestId());
// Request a new discovery so this content is removed from the PC inventory
// This should not influence the result code of the delete request
Set<RemoveIndividualPackageResponse> packageResponses = response.getPackageResponses();
if (packageResponses != null) {
// Keep a quick cache of which package types have had discoveries executed so we don't
// unnecessarily hammer the plugin with redundant discoveries
Set<String> packageTypeNames = new HashSet<String>();