docs: def validate(self, processes=1, fast=False, completeness_only=False, callback=None):
          """Checks the structure and contents are valid.
  
          If you supply the parameter fast=True the Payload-Oxum (if present) will
          be used to check that the payload files are present and accounted for,
          instead of re-calculating fixities and comparing them against the
          manifest. By default validate() will re-calculate fixities (fast=False).
          """
  
          self._validate_structure()
          self._validate_bagittxt()
  
          self._validate_fetch()
  
          self._validate_contents(processes=processes, fast=fast, completeness_only=completeness_only, callback=callback)
  
          return True