public boolean hasUnsupportedCriticalExtension() {
   for (Iterator it = extensions.values().iterator(); it.hasNext(); ) {
     Extension e = (Extension) it.next();
     if (e.isCritical() && !e.isSupported()) return true;
   }
   return false;
 }
 public Set getNonCriticalExtensionOIDs() {
   HashSet s = new HashSet();
   for (Iterator it = extensions.values().iterator(); it.hasNext(); ) {
     Extension e = (Extension) it.next();
     if (!e.isCritical()) s.add(e.getOid().toString());
   }
   return Collections.unmodifiableSet(s);
 }