docs: def multiply(self, data, fill_value=0.):
          """
          Multiply the aperture mask with the input data, taking any edge
          effects into account.
  
          The result is a mask-weighted cutout from the data.
  
          Parameters
          ----------
          data : array_like or `~astropy.units.Quantity`
              The 2D array to multiply with the aperture mask.
  
          fill_value : float, optional
              The value is used to fill pixels where the aperture mask
              does not overlap with the input ``data``.  The default is 0.
  
          Returns
          -------
          result : `~numpy.ndarray`
              A 2D mask-weighted cutout from the input ``data``.  If there
              is a partial overlap of the aperture mask with the input
              data, pixels outside of the data will be assigned to
              ``fill_value`` before being multipled with the mask.  `None`
              is returned if there is no overlap of the aperture with the
              input ``data``.
          """
  
          cutout = self.cutout(data, fill_value=fill_value)
          if cutout is None:
              return None
          else:
              return cutout * self.data