if ("".equals(xmlPane.getText())) {
final IReadTransaction rtx = session.beginReadTransaction();
final OutputStream out = new ByteArrayOutputStream();
new XMLSerializer(rtx, out, true, false, true).call();
xmlPane.setText(out.toString());
}
final Dimension prefSize = new Dimension(400, 600);
xmlPane.setEditable(false);
xmlPane.setMinimumSize(prefSize);
xmlPane.setPreferredSize(prefSize);
xmlPane.setColumns(80);
// xmlPane.setLineWrap(true);
final JScrollPane xmlView = new JScrollPane(xmlPane);
xmlView.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
xmlView.setMinimumSize(new Dimension(400, 600));
// Add the scroll panes to a split pane.
final JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
splitPane.setLeftComponent(treeView);
splitPane.setRightComponent(xmlView);
xmlView.setMinimumSize(new Dimension(800, HEIGHT));
treeView.setMinimumSize(new Dimension(200, HEIGHT));
splitPane.setDividerLocation(200);
splitPane.setPreferredSize(new Dimension(1000, HEIGHT));
// Add the split pane to this panel.
add(splitPane);