public VerseMessageParticipant addParticipantToThread(VerseMessageThread vmt, long participant_id, DateTime datetime_joined, DateTime datetime_last_read)
 {
     VerseMessageParticipant vmp = new VerseMessageParticipant(-1, vmt.thread_id, participant_id, datetime_joined, datetime_last_read);
     ParticipantTask pt = new ParticipantTask(us, vmp);
     //TODO change this not to be done in thread.
     pt.AddParticipantToThread();
     VerseThreadManager.getInstance().addParticipant(vmt, vmp);
     return vmp;
 }
 public VerseMessageParticipant addNewParticipantToThread(VerseMessageThread vmt, long participant_id)
 {
     DateTime datetime = DateTime.Now;
     VerseMessageParticipant vmp = new VerseMessageParticipant(-1,vmt.thread_id,participant_id,datetime,DateTime.MinValue);
     ParticipantTask pt = new ParticipantTask(us, vmp);
     pt.AddParticipantToThread();
     VerseThreadManager.getInstance().addParticipant(vmt,vmp);
     return vmp;
 }