@Override
 protected void handleCompletedContainers(List<ContainerStatus> containerStatuses) {
   // strip away containers which were already marked
   // garbage by allocate tracker. system
   // never knew those even exist and might create mess
   // with monitor component. monitor only sees
   // complete status which is also the case for garbage
   // when it's released.
   List<ContainerStatus> garbageFree = new ArrayList<ContainerStatus>();
   for (ContainerStatus status : containerStatuses) {
     if (!garbageContainers.contains(status.getContainerId())) {
       garbageFree.add(status);
     }
   }
   allocatorListener.completed(garbageFree);
 }
 @Override
 protected void handleAllocatedContainers(List<Container> containers) {
   allocatorListener.allocated(containers);
 }
 @Override
 public void addListener(ContainerAllocatorListener listener) {
   allocatorListener.register(listener);
 }