code: def expandedStim(self):
          
          logger = logging.getLogger('main')
          logger.debug("Generating Expanded Stimulus")
  
          # 3 loops now -- could be done in one...
          signals = self.expandFunction(self.signal)
          docs = self.expandFunction(self.componentDoc)
          overloads = []
          for s, d in zip(signals, docs):
              d['overloaded_attenuation'] = s[2]
              overloads.append(s[2])
  
          # remove the undesired attenuation argument
          signals = [sig[0:2] for sig in signals]
  
          if self.reorder:
              order = self.reorder(docs)
              signals = [signals[i] for i in order]
              docs = [docs[i] for i in order]
  
          return signals, docs, overloads
docs: Apply the autoparameters to this stimulus and return a list of
          the resulting stimuli, a complimentary list of doc dictionaries, and
          a complimentary list of undesired attenuations.
  
          :returns: list<numpy.ndarray>, list<dict>, list<float> -- the signals, their doc, undesired attenuations (dB)