public void removeEdge(PHYNode from, PHYNode to) {
		ArrayList<PHYNode> nbrs = treeEdges.get(from);
		if(nbrs != null) {
			for(PHYNode n : nbrs) {
				if(n.equals(to)) {
					nbrs.remove(n);
					break;
				}
			}
		}
		
		// remove the node if no edge points to it
		boolean connected = false;
		for(PHYNode n : treeEdges.keySet()) {
			for(PHYNode n2 : treeEdges.get(n)) {
				if(to.equals(n2)) {
					connected = true;
					break;
				}
			}
		}
		if(!connected) {
			treeNodes.remove(to);
		}			
	}