else if(name.equals(FEATURE_SOURCE_LOCATION)) { if(value instanceof Boolean) {  m_source_location = ((Boolean)value).booleanValue(); } else if(value instanceof String) {  m_source_location = (new Boolean((String)value)).booleanValue(); } else {  throw new IllegalArgumentException(XSLMessages.createMessage(XSLTErrorResources.ER_BAD_VALUE, new Object[]{name, value})); } }
  public void setAttribute(String name, Object value)          throws IllegalArgumentException  {    if (name.equals(FEATURE_INCREMENTAL))    {      if(value instanceof Boolean)      {        // Accept a Boolean object..        org.apache.xml.dtm.DTMManager.setIncremental(((Boolean)value).booleanValue());      }      else if(value instanceof String)      {        // .. or a String object        org.apache.xml.dtm.DTMManager.setIncremental((new Boolean((String)value)).booleanValue());      }      else      {        // Give a more meaningful error message        throw new IllegalArgumentException(XSLMessages.createMessage(XSLTErrorResources.ER_BAD_VALUE, new Object[]{name, value})); //name + " bad value " + value);      }	}    else if (name.equals(FEATURE_OPTIMIZE))    {      if(value instanceof Boolean)      {        // Accept a Boolean object..        m_optimize = ((Boolean)value).booleanValue();      }      else if(value instanceof String)      {        // .. or a String object        m_optimize = (new Boolean((String)value)).booleanValue();      }      else      {        // Give a more meaningful error message        throw new IllegalArgumentException(XSLMessages.createMessage(XSLTErrorResources.ER_BAD_VALUE, new Object[]{name, value})); //name + " bad value " + value);      }    }    else    {      throw new IllegalArgumentException(XSLMessages.createMessage(XSLTErrorResources.ER_NOT_SUPPORTED, new Object[]{name})); //name + "not supported");    }  }