question: public List < Node > expand ( Node node , Problem problem ) { List < Node > successors = new ArrayList < Node > ( ) ; ActionsFunction actionsFunction = problem . getActionsFunction ( ) ; ResultFunction resultFunction = problem . getResultFunction ( ) ; StepCostFunction stepCostFunction = problem . getStepCostFunction ( ) ; for ( Action action : actionsFunction . actions ( node . getState ( ) ) ) { Object successorState = resultFunction . result ( node . getState ( ) , action ) ; double stepCost = stepCostFunction . c ( node . getState ( ) , action , successorState ) ; successors . add ( createNode ( successorState , node , action , stepCost ) ) ; } for ( NodeListener listener : nodeListeners ) listener . onNodeExpanded ( node ) ; counter ++ ; return successors ; }
target:  Returns the children obtained from expanding the specified node in the specified problem.