public static boolean parseTokens(PsiBuilder builder, boolean smart, int pin, IElementType... tokens) {
    PsiBuilder.Marker marker = builder.mark();
    boolean result = consumeTokens(builder, smart, pin, tokens);
    if (!result) {
      marker.rollbackTo();
    }
    else {
      marker.drop();
    }
    return result;
  }
public static boolean parseTokens(PsiBuilder builder, boolean smart, int pin, IElementType... tokens)