code: public void setFeature(String name, boolean value)
  	  throws TransformerConfigurationException {
    
    	// feature name cannot be null
    	if (name == null) {
    	    throw new NullPointerException(
                    XSLMessages.createMessage(
                        XSLTErrorResources.ER_SET_FEATURE_NULL_NAME, null));    
    	}
    		
    	// secure processing?
    	if (name.equals(XMLConstants.FEATURE_SECURE_PROCESSING)) {
    	    m_isSecureProcessing = value;			
    	}
    	// This implementation does not support the setting of a feature other than
    	// the secure processing feature.
    	else
      {
        throw new TransformerConfigurationException(
            XSLMessages.createMessage(
              XSLTErrorResources.ER_UNSUPPORTED_FEATURE, 
              new Object[] {name}));
      }
    }
docs: <p>Set a feature for this <code>TransformerFactory</code> and <code>Transformer</code>s
  or <code>Template</code>s created by this factory.</p>
  
  <p>
  Feature names are fully qualified {@link java.net.URI}s.
  Implementations may define their own features.
  An {@link TransformerConfigurationException} is thrown if this <code>TransformerFactory</code> or the
  <code>Transformer</code>s or <code>Template</code>s it creates cannot support the feature.
  It is possible for an <code>TransformerFactory</code> to expose a feature value but be unable to change its state.
  </p>
  
  <p>See {@link javax.xml.transform.TransformerFactory} for full documentation of specific features.</p>
  
  @param name Feature name.
  @param value Is feature state <code>true</code> or <code>false</code>.
  
  @throws TransformerConfigurationException if this <code>TransformerFactory</code>
  or the <code>Transformer</code>s or <code>Template</code>s it creates cannot support this feature.
  @throws NullPointerException If the <code>name</code> parameter is null.