public void loadProfile( Profile p ) {

		try {
			log.trace("Loading profile data into UI");

			shipUnlockPanel.setProfile(p);
			generalAchievementsPanel.setProfile(p);
			statsPanel.setProfile(p);

			profile = p;

		} catch (IOException e) {
			log.error( "Error while loading profile", e );

			if ( profile != null && profile != p ) {
				log.info( "Attempting to revert GUI to the previous profile..." );
				showErrorDialog("Error loading profile.\nAttempting to return to the previous profile...");
				loadProfile(profile);
			} else {
				showErrorDialog("Error loading profile.\nThis has left the GUI in an ambiguous state.\nSaving is not recommended until another profile has successfully loaded.");
			}
		}

		this.repaint();
	}