sbool isGrandChildOf_limitedBy(Component a, Component b, Component outer) swing {
  if (a == null || b == null) false;
  if (a == b) true;
  reMutable a;
  while (a != outer && (a = getParent(a)) != null)
    if (a == b) true;
  false;
}