code: public void setFeature(String name, boolean value)
  		throws XPathFactoryConfigurationException {
  			
              // feature name cannot be null
              if (name == null) {
                  String fmsg = XSLMessages.createXPATHMessage(
                          XPATHErrorResources.ER_FEATURE_NAME_NULL,
                          new Object[] { CLASS_NAME, new Boolean( value) } );
                  throw new NullPointerException( fmsg );
               }
  		
              // secure processing?
              if (name.equals(XMLConstants.FEATURE_SECURE_PROCESSING)) {
  
                  featureSecureProcessing = value;
  						
                  // all done processing feature
                  return;
              }
  		
              // unknown feature
              String fmsg = XSLMessages.createXPATHMessage(
                      XPATHErrorResources.ER_FEATURE_UNKNOWN,
                      new Object[] { name, CLASS_NAME, new Boolean(value) } );
              throw new XPathFactoryConfigurationException( fmsg );
  	}
docs: <p>Set a feature for this <code>XPathFactory</code> and
  <code>XPath</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 XPathFactoryConfigurationException} is thrown if this
  <code>XPathFactory</code> or the <code>XPath</code>s
  it creates cannot support the feature.
  It is possible for an <code>XPathFactory</code> to expose a feature
  value but be unable to change its state.
  </p>
  
  <p>See {@link javax.xml.xpath.XPathFactory} for full documentation
  of specific features.</p>
  
  @param name Feature name.
  @param value Is feature state <code>true</code> or <code>false</code>.
  
  @throws XPathFactoryConfigurationException if this
  <code>XPathFactory</code> or the <code>XPath</code>s
  it creates cannot support this feature.
  @throws NullPointerException if <code>name</code> is
  <code>null</code>.