private static void MapActorToMessage(InternalRouteRegistration routeRegistration,
                                       Bcl.IDictionary <ReceiverIdentifier, Bcl.HashSet <MessageIdentifier> > actorMessages,
                                       MessageContract messageContract)
 {
     if (!actorMessages.TryGetValue(routeRegistration.ReceiverIdentifier, out var messages))
     {
         messages = new Bcl.HashSet <MessageIdentifier>();
         actorMessages[routeRegistration.ReceiverIdentifier] = messages;
     }
     messages.Add(messageContract.Message);
 }
 private void MapMessageToActor(InternalRouteRegistration routeRegistration, MessageContract messageContract)
 {
     if (!messageToActorMap.TryGetValue(messageContract.Message, out var actors))
     {
         actors = new HashedLinkedList <ReceiverIdentifier>();
         messageToActorMap[messageContract.Message] = actors;
     }
     if (!actors.Contains(routeRegistration.ReceiverIdentifier))
     {
         var registration = new ReceiverIdentifierRegistration(routeRegistration.ReceiverIdentifier,
                                                               messageContract.KeepRegistrationLocal);
         actors.InsertLast(registration);
     }
 }