private static IParticipant GetOrAddParticipantIfMissing(IGameBuilder gameBuilder, Dictionary <IIdentifier, IParticipant> participantDictionary, IIdentifier participantIdentifier) { if (!participantDictionary.ContainsKey(participantIdentifier)) { IParticipant student = gameBuilder.CreateParticipant(participantIdentifier); participantDictionary.Add(participantIdentifier, student); student.Sign(); } return(participantDictionary[participantIdentifier]); }