Pipeline { @Override public String toString() { return "Pipeline#" + hashCode(); } private  Pipeline(TransformHierarchy transforms, PipelineOptions options); protected  Pipeline(PipelineOptions options); static Pipeline create(); static Pipeline create(PipelineOptions options); PBegin begin(); OutputT apply(PTransform<? super PBegin, OutputT> root); OutputT apply(
      String name, PTransform<? super PBegin, OutputT> root); @Internal static Pipeline forTransformHierarchy(
      TransformHierarchy transforms, PipelineOptions options); @Internal PipelineOptions getOptions(); @Internal void replaceAll(List<PTransformOverride> overrides); PipelineResult run(); PipelineResult run(PipelineOptions options); CoderRegistry getCoderRegistry(); @Experimental(Kind.SCHEMAS) SchemaRegistry getSchemaRegistry(); @Deprecated void setCoderRegistry(CoderRegistry coderRegistry); @Internal void traverseTopologically(PipelineVisitor visitor); @Internal static OutputT applyTransform(
      InputT input, PTransform<? super InputT, OutputT> transform); @Internal static OutputT applyTransform(
      String name, InputT input, PTransform<? super InputT, OutputT> transform); @Override String toString();  }
@Test public void testToString() { PipelineOptions options = PipelineOptionsFactory.as(PipelineOptions.class); options.setRunner(CrashingRunner.class); Pipeline pipeline = Pipeline.create(options); assertEquals("Pipeline#" + pipeline.hashCode(), pipeline.toString()); }