private IIcon CreateParticipantIcon(Participant participant, bool top, bool isFirst)
        {
            var isInitializing = isFirst && (top ^ !InitiatingAtTop);

            var radius = BpmnConstants.ChoreographyCornerRadius;
            var icon   = IconFactory.CreateChoreographyParticipant(
                Outline, isInitializing ? InitiatingColor : ResponseColor,
                top && isFirst ? radius : 0,
                !top && isFirst ? radius : 0);

            if (participant.MultiInstance)
            {
                if (multiInstanceIcon == null)
                {
                    UpdateMultiInstanceIcon();
                }
                icon = IconFactory.CreateCombinedIcon(new List <IIcon>(new[] { icon, multiInstanceIcon }));
            }
            return(icon);
        }