private static function parseContainer(CharStream $s, Listener $l, $name) { $l->beginContainer($name); $out = array(); while (($element = self::parseElement($s, $l, $name)) !== null) { $out[] = $element; } return $l->endContainer(new Container($name, $out)); }