Asynchronous Page Aggregator builds the content required to render a
page of portlets by rendering the portlets in parallel. Each portlet is
rendered on its own thread. A work manager handles the thread pooling
and synchronization of worker threads.
author: David Sean Taylor author: Woonsan Ko version: $Id: $