Yes, this note is certainly wrong! *The number of Processing Pipelines should be equal to or greater than CAS Pool size. * The tutorial gets it right.
My understanding is that there is a separate CasConsumer thread and only the portion of the pipeline before the first CasConsumer runs in the pipeline thread(s). The first CasConsumer and all following CasProcessors run in this extra thread. This avoids any multi-threading issues when the CasConsumer updates external resources. You can of course implement your consumers as regular AEs and manage the synchonization yourself. Burn.
