PipelineRunnerRegistrar is a way for Beam developers to extend the Beam framework with a new PipelineRunner.
PipelineRunnerRegistrar uses java.util.ServiceLoader utility (with a corresponding
Apache Beam recommends using @AutoService annotation to generate the necessary META-INF files automatically at build time.
void initializeRegistry( ClassLoader loader)
resetCache resets the factory to the default state. That triggers searching the application’s classloader for [PipelineRunnerRegistrars](#PipelineRunnerRegistrar) (using [ReflectHelpers.loadServicesOrdered](#ReflectHelpers)). The PipelineRunnerRegistrars are requested for [PipelineRunners](#PipelineRunner). The PipelineRunners are requested for [PipelineOptions](#PipelineOptions).
With that, [PipelineRunners](#PipelineRunner) and [PipelineOptions](#PipelineOptions) are all registered with the [PipelineOptionsFactory](#PipelineOptionsFactory).
loadServicesOrdered is used to discover PipelineRunnerRegistrars and PipelineOptionsRegistrars.