* @throws WorkException if there is an exception while executing work.
*/
public void doWork(Work work, long startTimeout,
ExecutionContext execContext, WorkListener workListener)
throws WorkException {
WorkContextHandler contextHandler = createWorkContextHandler();
validateWork(work, WorkCoordinator.getExecutionContext(execContext, work), contextHandler);
if (logger.isLoggable(Level.FINEST)) {
String msg = "doWork for [" + work.toString() + "] START";
logger.log(Level.FINEST, debugMsg(msg));