code: public Object getAttribute(String name) throws IllegalArgumentException
    {
      if (name.equals(FEATURE_INCREMENTAL))
      {
        return new Boolean(m_incremental);            
      }
      else if (name.equals(FEATURE_OPTIMIZE))
      {
        return new Boolean(m_optimize);
      }
      else if (name.equals(FEATURE_SOURCE_LOCATION))
      {
        return new Boolean(m_source_location);
      }
      else
        throw new IllegalArgumentException(XSLMessages.createMessage(XSLTErrorResources.ER_ATTRIB_VALUE_NOT_RECOGNIZED, new Object[]{name})); //name + " attribute not recognized");
    }
docs: Allows the user to retrieve specific attributes on the underlying
  implementation.
  
  @param name The name of the attribute.
  @return value The value of the attribute.
  
  @throws IllegalArgumentException thrown if the underlying
  implementation doesn't recognize the attribute.