private List<InactiveImageDescriptor> filterInactiveImages(final State current,final List<InactiveImageDescriptor> inactiveImages,final Map<String,ImageService.State> referenceImages){
  List<InactiveImageDescriptor> imagesToDelete=new LinkedList<>();
  for (  InactiveImageDescriptor image : inactiveImages) {
    ImageService.State referenceImage=referenceImages.get(image.getImage_id());
    ServiceUtils.logInfo(this,Utils.toJson(false,false,referenceImage));
    if (image.getTimestamp() > current.imageCreateWatermarkTime || image.getTimestamp() > current.imageDeleteWatermarkTime) {
      continue;
    }
    if (null != referenceImage) {
      if (referenceImage.state == ImageState.PENDING_DELETE) {
        imagesToDelete.add(image);
        continue;
      }
      if (referenceImage.replicationType == ImageReplicationType.EAGER || current.isImageDatastore) {
        continue;
      }
    }
    imagesToDelete.add(image);
  }
  return imagesToDelete;
}

private List < InactiveImageDescriptor > filterInactiveImages ( final State current , final List < InactiveImageDescriptor > inactiveImages , final Map < String , ImageService . State > referenceImages ) { List < InactiveImageDescriptor > imagesToDelete = new LinkedList < > ( ) ; for ( InactiveImageDescriptor image : inactiveImages ) { ImageService . State referenceImage = referenceImages . get ( image . getImage_id ( ) ) ; ServiceUtils . logInfo ( this , Utils . toJson ( false , false , referenceImage ) ) ; if ( image . getTimestamp ( ) > current . imageCreateWatermarkTime || image . getTimestamp ( ) > current . imageDeleteWatermarkTime ) { continue ; } if ( null != referenceImage ) { if ( referenceImage . state == ImageState . PENDING_DELETE ) { imagesToDelete . add ( image ) ; continue ; } if ( referenceImage . replicationType == ImageReplicationType . EAGER || current . isImageDatastore ) { continue ; } } imagesToDelete . add ( image ) ; } return imagesToDelete ; }
filters the list of inactive images down to the list of images to be deleted .
