Well I think goingToCrashIntoEachOther needs to return another drone object. Then don't can take that object. Based on self.serialNo and other.serialNo a mutually beneficial avoiding manoeuvre could be executed.
If you're about to crash into more than one other drone.. Good luck the function specifies "EachOther" meaning just one other drone!