private Collection<SingularityPendingRequest> filterPendingRequestsByDeployAndPriority(List<SingularityPendingRequest> pendingRequests) {
Map<SingularityDeployKey, SingularityPendingRequest> deployKeyToMostImportantPendingRequest = Maps.newHashMapWithExpectedSize(pendingRequests.size());
for (SingularityPendingRequest pendingRequest : pendingRequests) {
SingularityDeployKey deployKey = new SingularityDeployKey(pendingRequest.getRequestId(), pendingRequest.getDeployId());
SingularityPendingRequest existingRequest = deployKeyToMostImportantPendingRequest.get(deployKey);
if (existingRequest == null) {
deployKeyToMostImportantPendingRequest.put(deployKey, pendingRequest);
} else {
if (pendingRequest.hasPriority(existingRequest)) {
LOG.debug("Dropping pending request {} because {} has priority {}", existingRequest, pendingRequest);