code: public <T> T actorFor(final Class<T> protocol, final Definition definition, final Address address) {
      final Address actorAddress = this.allocateAddress(definition, address);
      final Mailbox actorMailbox = this.allocateMailbox(definition, actorAddress, null);
      final ActorProtocolActor<T> actor =
              actorProtocolFor(
                protocol,
                definition,
                definition.parentOr(world.defaultParent()),
                actorAddress,
                actorMailbox,
                definition.supervisor(),
                definition.loggerOr(world.defaultLogger()));
  
      return actor.protocolActor();
    }
docs: Answers the {@code T} protocol of the newly created {@code Actor} that implements the {@code protocol} and
  that will be assigned the specific {@code address}.
  @param <T> the protocol type
  @param protocol the {@code Class<T>} protocol
  @param definition the {@code Definition} used to initialize the newly created {@code Actor}
  @param address the {@code Address} to assign to the newly created {@code Actor}
  @return T