private static void AddInterfaces(Type[] interfaces, Java.Util.ISet<Type> ret, Java.Util.IQueue<Type> toVisit)
 {
     foreach (var i in interfaces)
     {
         if (i == typeof(IGenericTypeDefinition))
             continue; // hide this marker interface.
         
         if (!ret.Contains(i))
         {
             ret.Add(i);
             toVisit.Add(i);
         }
     }
 }