public Object execute(Command command) {
Environment environment = Environment.getCurrent();
if (environment==null) {
throw new PvmException("no environment for verifying authorization");
}
MessageSession messageSession = environment.get(MessageSession.class);
if (messageSession==null) {
throw new PvmException("no message session for executing command asynchronously");
}
String userId = (propagateUserId ? environment.getUserId() : null);
messageSession.send(new AsyncCommandMessage(command, userId));
return null;
}