public IEnumerable<GameMessageEntry> GetMessages( Guid playerId, DateTime? startTime )
{
var messages =
LoadMessages( Path.Combine( RootPath, playerId + ".message" ) )
.Concat( LoadMessages( Path.Combine( RootPath, "annoucement.message" ) ) )
.OrderByDescending( item => item.NotifyTime );
if ( startTime == null )
return messages.ToArray();
else
return messages.SkipWhile( item => item.NotifyTime > startTime ).ToArray();
}