For more information see page 142 of Refactoring
Marian Vittek sent an example for moving a method to a method argument.
class Project { Person[] participants; } class Person { int id; boolean participate(Project p) { for(int i=0; i<p.participants.length; i++) { if (p.participants[i].id == id) return(true); } return(false); } } ... if (x.participate(p)) ...
After applying the move you end up with
class Project { Person[] participants; boolean participate(Person x) { for(int i=0; i<participants.length; i++) { if (participants[i].id == x.id) return(true); } return(false); } } class Person { int id; } ... if (p.participate(x)) ...
He also points out that the part of the Move Method mechanics that reads Determine how to reference the correct target object from the source, should be replaced by Determine how to reference the correct target object from the source or from arguments of the method which is more general.