/// <summary>Add a group to cache, only netgroups are cached</summary>
 /// <param name="groups">list of group names to add to cache</param>
 /// <exception cref="System.IO.IOException"/>
 public override void CacheGroupsAdd(IList <string> groups)
 {
     foreach (string group in groups)
     {
         if (group.Length == 0)
         {
         }
         else
         {
             // better safe than sorry (should never happen)
             if (group[0] == '@')
             {
                 if (!NetgroupCache.IsCached(group))
                 {
                     NetgroupCache.Add(group, GetUsersForNetgroup(group));
                 }
             }
         }
     }
 }