docs: def _dialate_array(self, array, iterators):
          """
          'Dialates' a to_process/to_protect array to include all subject and/or
          visits if the pipeline contains any joins over the corresponding
          iterators.
  
          Parameters
          ----------
          array : np.array[M, N]
              The array to potentially dialate
          iterators : set[str]
              The iterators that the array should be dialated for
  
          Returns
          -------
          dialated : np.array[M, N]
              The dialated array
          """
          if not iterators:
              return array
          dialated = np.copy(array)
          if self.study.SUBJECT_ID in iterators:
              # If we join over subjects we should include all subjects for every
              # visit we want to process
              dialated[:, dialated.any(axis=0)] = True
          if self.study.VISIT_ID in iterators:
              # If we join over visits we should include all visits for every
              # subject we want to process
              dialated[dialated.any(axis=1), :] = True
          return dialated