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); }