public <T> T execute(Computable<T> task) throws ServerRuntimeException {
    clear();
    T result;
    try {
      result = task.compute();
    }
    catch (CancellationException e) {
      throw new ServerRuntimeException(safeMessage(e));
    }
    if (myErrorMessage == null) {
      return result;
    }
    else {
      throw new ServerRuntimeException(myErrorMessage);
    }
  }
public <T> T execute(Computable<T> task)