callers[ i ] = createCaller( serverContext, modules[ i ], methodName);
// run the *last* one in *this* thread to save the overhead of a new thread
// (common case might be just 1 or 2 items)
final boolean isLast = (i + 1) == numModules;
final HowToRun submitType = isLast ? RUN_IN_CURRENT_THREAD : getSubmitType();
callers[ i ].submit( submitType );
}
// They're all submitted and running. Wait until they're *all* done in order to maintain
// the semantics of not loading any subsequent modules of a later load-order.