public void run(final ConfigSource configSource,
                    final String configDiffPathString,
                    final String outputPathString,
                    final String resumeStatePathString) {
        final Path configDiffPath = (configDiffPathString == null ? null : Paths.get(configDiffPathString));
        final Path outputPath = (outputPathString == null ? null : Paths.get(outputPathString));
        final Path resumeStatePath = (resumeStatePathString == null ? null : Paths.get(resumeStatePathString));
        try {
            runInternal(configSource, configDiffPath, outputPath, resumeStatePath);
        } catch (IOException ex) {
            throw new RuntimeException(ex);
        }
    }
Runs the run subcommand.

It receives a ConfigSource and a String as parameters to be called from Ruby (embulk/runner.rb).
embulk-core/src/main/java/org/embulk/EmbulkRunner.java