code: protected boolean logFoundJars(Vector v, String desc)
    {
  
      if ((null == v) || (v.size() < 1))
        return false;
  
      boolean errors = false;
  
      logMsg("#---- BEGIN Listing XML-related jars in: " + desc + " ----");
  
      for (int i = 0; i < v.size(); i++)
      {
        Hashtable subhash = (Hashtable) v.elementAt(i);
  
        for (Enumeration keys = subhash.keys(); 
             keys.hasMoreElements();
             /* no increment portion */
            )
        {
          Object key = keys.nextElement();
          String keyStr = (String) key;
          try
          {
            if (keyStr.startsWith(ERROR))
            {
              errors = true;
            }
            logMsg(keyStr + "=" + subhash.get(keyStr));
  
          }
          catch (Exception e)
          {
            errors = true;
            logMsg("Reading-" + key + "= threw: " + e.toString());
          }
        }
      }
  
      logMsg("#----- END Listing XML-related jars in: " + desc + " -----");
  
      return errors;
    }
docs: Print out report of .jars found in a classpath.
  
  Takes the information encoded from a checkPathForJars()
  call and dumps it out to our PrintWriter.
  
  @param v Vector of Hashtables of .jar file info
  @param desc description to print out in header
  
  @return false if OK, true if any .jars were reported
  as having errors
  @see #checkPathForJars(String, String[])