protected override void DoWork()
 {
     lock (portal)
     {
         foreach (var name in list_names)
         {
             TextList list = text_lists.Find(name);
             if (list != null)
             {
                 try
                 {
                     list.Delete();
                 }
                 catch (Exception ex)
                 {
                     LogMessage(MessageLog.Severity.Error, "Failed to delete text list " + name + ":" + ex.Message);
                     return;
                 }
                 LogMessage(MessageLog.Severity.Info, "Deleted text list " + name);
             }
         }
     }
 }