List <PatternMatcher> while_MATCHING_TEXT_matchNextObject(PNode node) { ProseObject obj = node.value; List <PatternMatcher> babyMatchers = new List <PatternMatcher>(); // Extend ourselves! // NOTE: We don't change the node we're using! PatternMatcher babyMatcher = makeCopyWithStateFromAtWord(runtime.@text); // Clone ourselves babyMatcher.while_MATCHING_TEXT_extendWith(node, currNode); babyMatchers.Add(babyMatcher); return(babyMatchers); }