public static void runPipeline(final CollectionReaderDescription readerDesc,
      final AnalysisEngineDescription... descs) throws UIMAException, IOException {
    // Create the components
    final CollectionReader reader = createCollectionReader(readerDesc);

    try {
      // Run the pipeline
      runPipeline(reader, descs);
    }
    finally {
      close(reader);
      destroy(reader);
    }
  }
public static void runPipeline ( final CollectionReaderDescription readerDesc , final AnalysisEngineDescription ... descs ) throws UIMAException , IOException { final CollectionReader reader = createCollectionReader ( readerDesc ) ; try { runPipeline ( reader , descs ) ; } finally { close ( reader ) ; destroy ( reader ) ; } }
Run the CollectionReader and AnalysisEngines as a pipeline. After processing all CASes
provided by the reader, the method calls {@link AnalysisEngine#collectionProcessComplete()
collectionProcessComplete()} on the engines, {@link CollectionReader#close() close()} on the
reader and {@link Resource#destroy() destroy()} on the reader and all engines.

@param readerDesc
The CollectionReader that loads the documents into the CAS.
@param descs
Primitive AnalysisEngineDescriptions that process the CAS, in order. If you have a
mix of primitive and aggregate engines, then please create the AnalysisEngines
yourself and call the other runPipeline method.
@throws UIMAException
@throws IOException