CreateInterface createInterface = new CreateInterface(factory);
CreateInterface createInterface = new CreateInterface(factory, false);
				public void run()				{										StringStreamFactory factory = new StringStreamFactory();					CreateInterface createInterface = new CreateInterface(factory);					try					{						String xml = introspectable.Introspect();												String docType = "<!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN\"\n\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">";							createInterface.createInterface(new StringReader(xml.replace(docType, "")));						final JTabbedPane tabbedPane = new JTabbedPane();												tabbedPane.addTab(xmlFile, createSourceTab(xmlFile, xml));												for (String file : factory.streamMap.keySet())						{							final String source = factory.streamMap.get(file).toString();														tabbedPane.addTab(file, createSourceTab(file, source));						}						tabbedPane.setPreferredSize(new Dimension(600, 400));												final JPanel introspectionPanel = new JPanel(new BorderLayout());						introspectionPanel.add(tabbedPane, BorderLayout.CENTER);						JPanel southPanel = new JPanel();						southPanel.add(new JButton(new SaveFileAction(tabbedPane)));						southPanel.add(new JButton(new SaveAllAction(tabbedPane)));						introspectionPanel.add(southPanel, BorderLayout.SOUTH);												SwingUtilities.invokeLater(new Runnable()						{							@SuppressWarnings("synthetic-access")							public void run()							{								JOptionPane.showMessageDialog(table, introspectionPanel, "Introspection", JOptionPane.PLAIN_MESSAGE);							}						});											}					catch (final Exception e)					{						e.printStackTrace();						SwingUtilities.invokeLater(new Runnable()						{							@SuppressWarnings("synthetic-access")							public void run()							{								JOptionPane.showMessageDialog(table, e.getMessage(), "Introspection Failed", JOptionPane.ERROR_MESSAGE);							}						});					}				}