prevNode = pi;
setPrevious(pi);
	public void processingInstruction(String target, String data) {		ProcessingInstructionImpl pi =			new ProcessingInstructionImpl(0, target, data);		pi.setOwnerDocument(document);		if (stack.isEmpty()) {            pi.setNodeId(broker.getBrokerPool().getNodeFactory().createInstance());            if (!validate)				broker.storeNode(transaction, pi, currentPath);			document.appendChild(pi);		} else {			ElementImpl last = (ElementImpl) stack.peek();			if (charBuf != null && charBuf.length() > 0) {				XMLString normalized = charBuf.normalize(normalize);				if (normalized.length() > 0) {					//TextImpl text =					//    new TextImpl( normalized );					text.setData(normalized);					text.setOwnerDocument(document);					last.appendChildInternal(prevNode, text);                  prevNode = text;					if (!validate)						storeText();					text.clear();				}				charBuf.reset();			}			last.appendChildInternal(prevNode, pi);           prevNode = pi;			if (!validate)				broker.storeNode(transaction, pi, currentPath);		}	}