code: @Override
    public void registerCommonSupervisor(final String stageName, final String name, final Class<?> supervisedProtocol, final Class<? extends Actor> supervisorClass) {
      try {
        final String actualStageName = stageName.equals("default") ? DEFAULT_STAGE : stageName;
        final Stage stage = stageNamed(actualStageName);
        final Supervisor common = stage.actorFor(Supervisor.class, Definition.has(supervisorClass, Definition.NoParameters, name));
        stage.registerCommonSupervisor(supervisedProtocol, common);
      } catch (Exception e) {
        defaultLogger().log("vlingo/actors: World cannot register common supervisor: " + supervisedProtocol.getName(), e);
      }
    }
docs: Registers the {@code supervisorClass} plugin by {@code name} that will supervise all {@code Actors} that implement the {@code supervisedProtocol}.
  @param stageName the {@code String} name of the {@code Stage} in which the {@code supervisorClass} is to be registered
  @param name the {@code String} name of the supervisor to register
  @param supervisedProtocol the protocol of {@code Class<?>} for which the supervisor will supervise
  @param supervisorClass the {@code Class<? extends Actor>} to register as a supervisor