code: def _validate_completeness(self):
          
          errors = list()
  
          # First we'll make sure there's no mismatch between the filesystem
          # and the list of files in the manifest(s)
          only_in_manifests, only_on_fs, only_in_fetch = self.compare_manifests_with_fs_and_fetch()
          for path in only_in_manifests:
              e = FileMissing(path)
              LOGGER.warning(force_unicode(e))
              errors.append(e)
          for path in only_on_fs:
              e = UnexpectedFile(path)
              LOGGER.warning(force_unicode(e))
              errors.append(e)
          for path in only_in_fetch:
              e = UnexpectedRemoteFile(path)
              # this is non-fatal according to spec but the warning is still reasonable
              LOGGER.warning(force_unicode(e))
  
          if errors:
              raise BagValidationError(_("Bag validation failed"), errors)
docs: Verify that the actual file manifests match the files in the data directory