// from interface SpotProvider
public void clusterSpeak (ClientObject caller, String message, byte mode)
{
// ensure the caller has normal chat access
BodyObject source = _locator.forClient(caller);
String errmsg = source.checkAccess(ChatCodes.CHAT_ACCESS, null);
if (errmsg != null) {
SpeakUtil.sendFeedback(source, MessageManager.GLOBAL_BUNDLE, errmsg);
} else {
sendClusterChatMessage(ScenePlace.getSceneId(source), source.getOid(),
source.getVisibleName(), null, message, mode);