def _find_compatible_runnables(self, task, current):
      result = [current]
      for other in task.runnables:
         if (other is not current) and (not other.processed):
            if len(current.event_triggers) == len(other.event_triggers):
               is_compatible = True
               for current_event in current.event_triggers:
                  found = False
                  for other_event in other.event_triggers:
                     if current_event.symbol == other_event.symbol:
                        found = True
                        break
                  if not found:
                     is_compatible = False
                     break
               if is_compatible:
                  result.append(other)
      return result