&& (childName.charAt(candNameLength) == '.'))
&& childName.charAt(candNameLength) == '.')
  private synchronized Logger findAncestor(Logger child)  {    String childName = child.getName();    Logger best = rootLogger;    int    bestNameLength = 0;    Logger  cand;    String  candName;    int     candNameLength;    if (child == rootLogger)      return null;    for (Iterator iter = loggers.keySet().iterator(); iter.hasNext();)    {      candName = (String) iter.next();      candNameLength = candName.length();      if ((candNameLength > bestNameLength)	  && childName.startsWith(candName)	  && (childName.charAt(candNameLength) == '.'))      {        cand = (Logger) ((WeakReference) loggers.get(candName)).get();	if ((cand == null) || (cand == child))	  continue;	bestNameLength = candName.length();	best = cand;      }    }    return best;  }