code: Rule level1ExpressionChaining() {
  		return Sequence(
  				primaryExpression().label("head"), set(),
  				ZeroOrMore(FirstOf(
  						arrayAccessOperation().label("arrayAccess"),
  						methodInvocationWithTypeArgsOperation().label("methodInvocation"),
  						select().label("select"))),
  				set(actions.createLevel1Expression(node("head"), nodes("ZeroOrMore/FirstOf"))));
  	}
docs: P1