public static List<PDBStructure> reloadStructures(CyNetwork network,
	                                                  CyIdentifiable id, List<CDDHit> hits) {

		List<String> structures = getStructures(network, id);
		if (structures == null || structures.size() == 0)
			return null;

		List<PDBStructure> structureList = new ArrayList<PDBStructure>();
		Map<String, PDBStructure> structureMap = new HashMap<String, PDBStructure>();

		// We actually use the CDDHit information to reload our structures because
		// this is where the validated information gets stored
		for (CDDHit hit: hits) {
			String proteinId = hit.getProteinId();
			String[] structChain = proteinId.split("\\.");
			if (structChain.length == 2) {
				if (!structureMap.containsKey(structChain[0])) {
					PDBStructure s = new PDBStructure(structChain[0], null);
					structureMap.put(structChain[0], s);
					structureList.add(s);
				}
				structureMap.get(structChain[0]).addChain(structChain[1]);
			}
		}
		if (structureList.size() == 0)
			return null;
		return structureList;
	}