private void firstLoad() {
		if (initialLoad) {
			if (gui.connection != null) {
				try {
					statement = gui.connection.createStatement();
					if (rslt != null) {
						rslt.close();
					}
					rslt = statement
							.executeQuery("SELECT * FROM GETREFERENCES('"
									+ mainTableName + "')");
					rsltMetaData = rslt.getMetaData();
					initialLoad = false;
					state("load sql reference for " + mainTableName);
				} catch (SQLException e) {
					gui.handleSQLException(e);
				}
				try {
					;
					JPanel refencePane = new JPanel(new GridLayout(1, 0));
					referenceTable = new ArrayList<TablePane>();
					while (rslt.next()) {
						this.add(refencePane);
						TablePane referencedTable = new TablePane(gui,
								rslt.getString(1), rslt.getString(2),
								rslt.getString(3));
						referencedTable.addListSelectionListener(this);
						refencePane.add(referencedTable);
						referenceTable.add(referencedTable);
					}
					// }
				} catch (SQLException e) {
					gui.handleSQLException(e);
				}
			}
		}

	}