code:       public static SVGAttr  fromString(String str)
        {
           // First check cache to see if it is there
           SVGAttr  attr = cache.get(str);
           if (attr != null)
              return attr;
           // Do the (slow) Enum.valueOf()
           if (str.equals("class")) {
              cache.put(str, CLASS);
              return CLASS;
           }
           // Check for underscore in attribute - it could potentially confuse us
           if (str.indexOf('_') != -1) {
              cache.put(str, UNSUPPORTED);
              return UNSUPPORTED;
           }
           try
           {
              attr = valueOf(str.replace('-', '_'));
              if (attr != CLASS) {
                 cache.put(str, attr);
                 return attr;
              }
           } 
           catch (IllegalArgumentException e)
           {
              // Do nothing
           }
           // Unknown attribute name
           cache.put(str, UNSUPPORTED);
           return UNSUPPORTED;
        }
  
     }
  
  
     // Special attribute keywords
  