Neither  
    TransformerFactory nor 
    Transformer is guaranteed to be
    thread-safe. 
Simplest solution is just to give each separate thread
    its own TransformerFactory and
    Transformer objects.
The Templates class represents a
    parsed stylesheet. It creates new 
    Transformer objects on demand very quickly.
 Templates is thread-safe.
  TransformerFactory xformFactory = TransformerFactory.newInstance();
  Source xsl = new StreamSource("stylesheet.xsl");
  Templates templates = xformFactory.newTemplates(xsl);
  ...
while (true) {
  InputStream  in   = getNextDocument();
  OutputStream out  = getNextTarget();
  Source request    = new StreamSource(in);
  Result response   = new StreamResult(out);
  Transformer transformer = templates.newTransformer();
  transformer.transform(request, response);
}