code: def process(self):
          
          self.modules.sort(key=lambda x: x.priority)
  
          for module in self.modules:
              transforms = module.transform(self.data)
              transforms.sort(key=lambda x: x.linenum, reverse=True)
  
              for transform in transforms:
                  linenum = transform.linenum
  
                  if isinstance(transform.data, basestring):
                      transform.data = [transform.data]
  
                  if transform.oper == "prepend":
                      self.data[linenum:linenum] = transform.data
  
                  elif transform.oper == "append":
                      self.data[linenum+1:linenum+1] = transform.data
  
                  elif transform.oper == "swap":
                      self.data[linenum:linenum+1] = transform.data
  
                  elif transform.oper == "drop":
                      self.data[linenum:linenum+1] = []
  
                  elif transform.oper == "noop":
                      pass
docs: This method handles the actual processing of Modules and Transforms