public List<ThreatClass> getSelectedThreats() {
		List<ThreatClass> selectedThreats = new ArrayList<ThreatClass>();
		if (!treeThreats.isSelectionEmpty())
			for (TreePath treePath : treeThreats.getSelectionPaths()) {
				TreeNodeThreat treeNodeThreat = (TreeNodeThreat)
						treePath.getLastPathComponent();
				Object representation = treeNodeThreat.getRepresentation();
				ThreatClass lastThreatClass = getLastThreatClass(selectedThreats);
				if (representation instanceof ClassNode) {
					ClassNode classNode = (ClassNode) representation;
					if (lastThreatClass == null ||
							lastThreatClass.getRepresentation() != classNode)
						selectedThreats.add(new ThreatClass(classNode));
				} else {
					MethodNode methodNode = (MethodNode) representation;
					ClassNode classNode = (ClassNode) ((TreeNodeThreat) 
							treeNodeThreat.getParent()).getRepresentation();
					if (lastThreatClass == null ||
							lastThreatClass.getRepresentation() != classNode) {
						ThreatClass threatClass = new ThreatClass(classNode);
						threatClass.addThreatMethod(new ThreatMethod(methodNode));
						selectedThreats.add(threatClass);
					} else
						lastThreatClass.addThreatMethod(new ThreatMethod(
								methodNode));
				}
			}
		return selectedThreats;
	}