public void loadDatabase( String file ) throws FileNotFoundException {
		
		if ( file == null ) {
			file = userHome+"/.pwman/pwman.db";
		}
		
		if ( !new File(file).exists() ) {
			throw new FileNotFoundException( "SQLite-Database not found" );
		}
		
		// Connect to database file. If not exists, it will be created
		try {
			connection = DriverManager.getConnection( "jdbc:sqlite:" + file );
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		// Setup structure
		String sqlCreateArray[] = {
			"CREATE TABLE IF NOT EXISTS NODES (ID INTEGER PRIMARY KEY AUTOINCREMENT,DATA BLOB NOT NULL);",
			"CREATE TABLE IF NOT EXISTS TAGS(ID INTEGER PRIMARY KEY AUTOINCREMENT,DATA BLOB NOT NULL UNIQUE);",
			"CREATE TABLE IF NOT EXISTS LOOKUP(NODE INTEGER NOT NULL, TAG INTEGER NOT NULL, PRIMARY KEY(NODE, TAG));",
			"CREATE TABLE IF NOT EXISTS KEY(THEKEY TEXT NOT NULL DEFAULT '');",
			"CREATE TABLE IF NOT EXISTS DBVERSION(DBVERSION TEXT NOT NULL DEFAULT '0.4');"
		};
		
		for ( String sqlCreate : sqlCreateArray ) {
			try {
				Statement stat = connection.createStatement();
				stat.execute( sqlCreate );
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}