static void seqExistUtil ( Node ptr , int seq [ ] , INT index ) {
  if ( ptr == null ) return ;
  seqExistUtil ( ptr . left , seq , index ) ;
  if ( ptr . data == seq [ index . a ] ) index . a ++ ;
  seqExistUtil ( ptr . right , seq , index ) ;
}

static void seqExistUtil ( Node ptr , int seq [ ] , INT index ) { if ( ptr == null ) return ; seqExistUtil ( ptr . left , seq , index ) ; if ( ptr . data == seq [ index . a ] ) index . a ++ ; seqExistUtil ( ptr . right , seq , index ) ; }
(method_declaration (modifiers) type: (void_type) name: (identifier) parameters: (formal_parameters (formal_parameter type: (type_identifier) name: (identifier)) (formal_parameter type: (integral_type) name: (identifier) dimensions: (dimensions)) (formal_parameter type: (type_identifier) name: (identifier))) body: (block (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (null_literal))) consequence: (return_statement)) (expression_statement (method_invocation name: (identifier) arguments: (argument_list (field_access object: (identifier) field: (identifier)) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_access object: (identifier) field: (identifier)) right: (array_access array: (identifier) index: (field_access object: (identifier) field: (identifier))))) consequence: (expression_statement (update_expression (field_access object: (identifier) field: (identifier))))) (expression_statement (method_invocation name: (identifier) arguments: (argument_list (field_access object: (identifier) field: (identifier)) (identifier) (identifier))))))