@DontLabel
    public Rule sequence(final Object rule, final Object rule2,
        final Object... moreRules)
    {
        final Object[] rules = ImmutableList.builder().add(rule).add(rule2)
            .add(moreRules).build().toArray();
        return sequence(rules);
    }
@DontLabel
    public Rule sequence(final Object rule, final Object rule2,
        final Object... moreRules)
    {
        final Object[] rules = ImmutableList.builder().add(rule).add(rule2)
            .add(moreRules).build().toArray();
        return sequence(rules);
    }
@ DontLabel public Rule sequence ( final Object rule , final Object rule2 , final Object ... moreRules ) { final Object [ ] rules = ImmutableList . builder ( ) . add ( rule ) . add ( rule2 ) . add ( moreRules ) . build ( ) . toArray ( ) ; return sequence ( rules ) ; }
Match a given set of rules, exactly once

@param rule the first subrule
@param rule2 the second subrule
@param moreRules the other subrules
@return a rule
Match a given set of rules exactly once