public DocumentProcessor.Progress process(ComponentSpecification chain, com.yahoo.docproc.Processing processing) {
        DocprocExecutor executor = getExecutor(chain);
        return executor.processUntilDone(processing);
    }
Processes the given Processing through the specified chain. Note that if one
{@link com.yahoo.docproc.DocumentProcessor DocumentProcessor} in the
chain returns a {@link com.yahoo.docproc.DocumentProcessor.LaterProgress DocumentProcessor.LaterProgress},
the calling thread will sleep for the duration
specified in {@link com.yahoo.docproc.DocumentProcessor.LaterProgress#getDelay() DocumentProcessor.LaterProgress#getDelay()},
and then run again. This method will hence return when a document processor returns
{@link com.yahoo.docproc.DocumentProcessor.Progress#DONE DocumentProcessor.Progress#DONE} or
{@link com.yahoo.docproc.DocumentProcessor.Progress#FAILED DocumentProcessor.Progress#FAILED}, throws an exception,
or if the calling thread is interrupted. This method will never return a
{@link com.yahoo.docproc.DocumentProcessor.LaterProgress DocumentProcessor.LaterProgress}.

@param chain the specification of the chain to execute
@param processing the Processing to process
@return Progress.DONE or Progress.FAILED
@throws RuntimeException if one of the document processors in the chain throws, or if the calling thread is interrupted
application/src/main/java/com/yahoo/application/container/DocumentProcessing.java