private static void runFiles ( Task task , File input , File output ) throws IOException {
  InputStream is = new BufferedInputStream ( new FileInputStream ( input ) ) ;
  OutputStream os = new BufferedOutputStream ( new FileOutputStream ( output ) ) ;
  task . run ( is , os ) ;
  is . close ( ) ;
  os . close ( ) ;
}

private static void runFiles ( Task task , File input , File output ) throws IOException { InputStream is = new BufferedInputStream ( new FileInputStream ( input ) ) ; OutputStream os = new BufferedOutputStream ( new FileOutputStream ( output ) ) ; task . run ( is , os ) ; is . close ( ) ; os . close ( ) ; }
(method_declaration (modifiers) type: (void_type) name: (identifier) parameters: (formal_parameters (formal_parameter type: (type_identifier) name: (identifier)) (formal_parameter type: (type_identifier) name: (identifier)) (formal_parameter type: (type_identifier) name: (identifier))) (throws (type_identifier)) body: (block (local_variable_declaration type: (type_identifier) declarator: (variable_declarator name: (identifier) value: (object_creation_expression type: (type_identifier) arguments: (argument_list (object_creation_expression type: (type_identifier) arguments: (argument_list (identifier))))))) (local_variable_declaration type: (type_identifier) declarator: (variable_declarator name: (identifier) value: (object_creation_expression type: (type_identifier) arguments: (argument_list (object_creation_expression type: (type_identifier) arguments: (argument_list (identifier))))))) (expression_statement (method_invocation object: (identifier) name: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (method_invocation object: (identifier) name: (identifier) arguments: (argument_list))) (expression_statement (method_invocation object: (identifier) name: (identifier) arguments: (argument_list)))))