class Embulk::InputPlugin::JavaAdapter

def run(java_task_source, java_schema, processor_index, java_output)

def run(java_task_source, java_schema, processor_index, java_output)
  task_source = DataSource.from_java(java_task_source)
  schema = Schema.from_java(java_schema)
  page_builder = @ruby_class.create_page_builder(task_source: task_source,
                                                 schema: schema,
                                                 processor_index: processor_index,
                                                 java_page_output: java_output)
  begin
    task_report_hash = @ruby_class.new(task_source, schema, processor_index, page_builder).run
    return DataSource.from_ruby_hash(task_report_hash).to_java
  ensure
    page_builder.close
  end
end