Como adicionar um ProcessingInstruction num XML?

Criei um XML a partir de incontáveis métodos, mas para que ele seja visualizado pelo browser com um stylesheet tenho que definir um xsl.

Quando adiciono a linha:
<?xml-stylesheet type='text/xsl' href='musiteca.xsl'?>
logo abaixo de:
<?xml version="1.0" encoding="iso-8859-1"?>
tudo funciona perfeitamente, ou seja, é exatamente oq quero.

Mas quando tento adicionar esse linha pelo meu método, ele só fica na frente do nó raiz - assim não funciona. Já tentei de muitas formas força-lo a ser “escrito” antes do nó raiz, mas tudo em vão.

public void addProcessingInstruction(Document doc) { Element root = doc.getDocumentElement(); Element folks = (Element)root.getLastChild(); ProcessingInstruction pi = (ProcessingInstruction)doc.createProcessingInstruction("xml-stylesheet","type='text/xsl' href='musiteca.xsl'"); root.insertBefore(pi,folks); }

Sei que muitos estranharão o getLastChild(), mas digo que com getFirstChild() o PI só fica abaixo do nó raiz.

Como adicionar essa ProcessingInstruction devidamente em seu lugar?
Grato