Step1MessageExo(
      ParticipantRange range,
      StringBounder stringBounder,
      MessageExo message,
      DrawableSet drawingSet,
      Frontier freeY) {
    super(range, stringBounder, message, drawingSet, freeY);

    setConfig(getArrowType(message));

    this.messageArrow =
        new MessageExoArrow(
            freeY.getFreeY(range),
            drawingSet.getSkin(),
            drawingSet
                .getSkin()
                .createComponent(
                    ComponentType.ARROW,
                    getConfig(),
                    drawingSet.getSkinParam(),
                    getLabelOfMessage(message)),
            getLivingParticipantBox(),
            message.getType(),
            message.getUrl(),
            message.isShortArrow(),
            message.getArrowConfiguration());

    if (message.getNote() != null) {
      final ISkinParam skinParam =
          new SkinParamBackcolored(drawingSet.getSkinParam(), message.getSpecificBackColor());
      setNote(
          drawingSet
              .getSkin()
              .createComponent(ComponentType.NOTE, null, skinParam, message.getNote()));
      // throw new UnsupportedOperationException();
    }
  }