Is the fromParticipant getting the message?  

At some point, it might be easier to make a deliverToParticipant method that accepts a message and Participant and can have the check that the participant isn't null, isn't the NULL_USER, and is ONLINE there, rather than having that logic in a couple of different places.