docs: def _readWMSDatasets(self, datasetCards, directory, session, spatial=False, spatialReferenceID=4236):
          """
          Method to handle the special case of WMS Dataset Files. WMS Dataset Files
          cannot be read in independently as other types of file can. They rely on
          the Mask Map file for some parameters.
          """
          if self.mapType in self.MAP_TYPES_SUPPORTED:
              # Get Mask Map dependency
              maskMap = session.query(RasterMapFile).\
                                filter(RasterMapFile.projectFile == self).\
                                filter(RasterMapFile.fileExtension == 'msk').\
                                one()
  
              for card in self.projectCards:
                  if (card.name in datasetCards) and self._noneOrNumValue(card.value):
                      # Get filename from project file
                      filename = card.value.strip('"')
                      path = os.path.join(directory, filename)
  
                      if os.path.isfile(path):
                          wmsDatasetFile = WMSDatasetFile()
                          wmsDatasetFile.projectFile = self
                          wmsDatasetFile.read(directory=directory,
                                              filename=filename,
                                              session=session,
                                              maskMap=maskMap,
                                              spatial=spatial,
                                              spatialReferenceID=spatialReferenceID)
                      else:
                          self._readBatchOutputForFile(directory, WMSDatasetFile, filename, session, spatial,
                                                       spatialReferenceID, maskMap=maskMap)