### Question:
AsyncPipeline implements Pipeline, AutoCloseable { public void start(){ executor(); } AsyncPipeline(@NonNull @JsonProperty("underlying") Pipeline underlying, @NonNull @JsonProperty("trigger") Trigger trigger); @Override synchronized PipelineExecutor executor(); @Override int size(); @Override String id(); void start(); @Override void close();  }### Answer:
@Test public void testAsyncPipelineSimple() throws Exception { CountStep cs = new CountStep(); Pipeline p = SequencePipeline.builder() .add(cs) .build(); Trigger t = new SimpleLoopTrigger(); int count = -1; try { AsyncPipeline a = new AsyncPipeline(p, t); a.start(); Thread.sleep(2000); count = cs.count; System.out.println(count); assertTrue(count > 10); } finally { t.stop(); Thread.sleep(500); count = cs.count; } Thread.sleep(1000); assertEquals(count, cs.count); }