public boolean timeoutMsg() {
      for (int i = 0; i < targetActors.size(); i++) {
        ActorReference target = (ActorReference) targetActors.get(i);
        String messageId = (String) targetMessages.get(i);
        Integer position = (Integer) targetPositions.get(i);

        /**
         * If the value is a large object, it isn't required to be sent if this token is being used
         * for synchronization. We can send null instead.
         */
        Object[] arguments = new Object[3];
        arguments[0] = messageId;
        arguments[1] = position;
        Object[] ret = new Object[index];
        System.arraycopy(values, 0, ret, 0, index);
        if (position.intValue() == -3) arguments[2] = null;
        else arguments[2] = ret;
        Message data =
            new Message(
                ((JoinDirector) self), target, "resolveToken", arguments, null, null, false);
        target.send(data);
      }
      this.ServiceDie();
      return true;
    }