public static List<CDDFeature> reloadFeatures(CyNetwork network, CyIdentifiable id) {
		if (!CyUtils.checkColumn(network.getDefaultNodeTable(), CDD_FEATURE, List.class, String.class))
			return null;

		List<String> features = network.getRow(id).getList(CDD_FEATURE, String.class);
		List<String> chainFeatures = network.getRow(id).getList(PDB_CHAIN_FEATURES, String.class);
		List<String> types = network.getRow(id).getList(CDD_FEATURE_TYPE, String.class);
		List<String> sites = network.getRow(id).getList(CDD_FEATURE_SITE, String.class);

		if (features == null ||
				features.size() != chainFeatures.size() ||
				features.size() != types.size() ||
				features.size() != sites.size())
			return null;

		List<CDDFeature> cddFeatures = new ArrayList<CDDFeature>();
		for (int i = 0; i < features.size(); i++) {
			CDDFeature hit = new CDDFeature(chainFeatures.get(i), features.get(i), types.get(i), sites.get(i));
			cddFeatures.add(hit);
		}
		return cddFeatures;
	}