question: public List < Node > listAvailableMutations ( Node node ) { List < Node > result = new ArrayList < Node > ( ) ; for ( Node mutation : availableNodes ) { if ( isMutationCompatible ( node , mutation ) ) { result . add ( mutation ) ; } } return result ; }
target:  Returns the list of all available mutations to the given node.  This method ensures the mutation remains strongly-typed.