public static InatResultPanel loadFromSessionSimFile(File simulationDataFile) {
		Heptuple<Model, SimpleLevelResult, Double, String, String, HashMap<String, HashMap<String, Object>>, HashMap<String, HashMap<String, Object>>> simulationData = loadSimulationData(simulationDataFile, false);
		InatResultPanel panel = new InatResultPanel(simulationData.first, simulationData.second, simulationData.third, simulationData.fourth, null);
		panel.savedNetwork = Cytoscape.getNetwork(simulationData.fifth);
		if (panel.savedNetwork != null && !panel.savedNetwork.equals(Cytoscape.getNullNetwork())) {
			//System.err.println("La rete salvata " + panel.savedNetwork.getIdentifier() + " ha " + panel.savedNetwork.getNodeCount() + " nodi e " + panel.savedNetwork.getEdgeCount() + " edgi");
			CyNetworkView savedNetworkView = Cytoscape.getNetworkView(simulationData.fifth);
			if (savedNetworkView != null && !savedNetworkView.equals(Cytoscape.getNullNetworkView())) { //Keep all saved networks hidden
				Cytoscape.destroyNetworkView(savedNetworkView);
				CyNetworkView otherView = null;
				Collection<CyNetworkView> c = Cytoscape.getNetworkViewMap().values();
				if (!c.isEmpty()) {
					otherView = c.iterator().next();
				}
				if (otherView != null) {
					try {
						@SuppressWarnings("rawtypes")
						List edgesList = otherView.getEdgeViewsList();
						for (Object o : edgesList) {
							EdgeView edge = (EdgeView)o;
							edge.setLineType(EdgeView.CURVED_LINES);
						}
					} catch (Exception e) {
					}
					try {
						Cytoscape.getDesktop().getNetworkViewManager().getInternalFrame(otherView).setSelected(true);
					} catch (Exception e) {
						//We try, just to keep someone in foreground (possibly, at the end only the "main" network will remain)
					}
				}
			}
		} else {
			//System.err.println("UNA RETE SALVATA NON E' STATA RECUPERATA!!!!!!!!!!!!!!!");
		}
		panel.savedNetworkImage = null; //We cannot save BufferedImages to file as objects, as they are not serializable, so we will show no image of the network
		panel.savedNodeAttributes = simulationData.sixth;
		panel.savedEdgeAttributes = simulationData.seventh;
		allExistingPanels.add(panel);
		return panel;
	}