@SuppressWarnings("unchecked")
		public void propertyChange(PropertyChangeEvent evt) {
			if (evt.getPropertyName().equals(AggGraph.PROPERTY_AGGREGATION)) {
				ArrayList<AggNode> oldNodes = (ArrayList<AggNode>) evt.getOldValue();
				ArrayList<AggNode> newNodes = (ArrayList<AggNode>) evt.getNewValue();

				// Update Statistics 
				if (oldNodes.size() == 1) {  // Collapse
					Manager.statManager.updateStats();
					if (oldNodes.get(0).getTotalItemCount() == maxNodeSize) {
						Manager.maxNodeSize = aggGraph.getMaxTotalItemCount();					
					}
				}
				else if (newNodes.size() == 1) {  // Aggregate
					Manager.statManager.updateStats(newNodes.get(0));
					if (newNodes.get(0).getTotalItemCount() > Manager.maxNodeSize) {
						assert (newNodes.get(0).getTotalItemCount() == aggGraph.getMaxTotalItemCount());
						Manager.maxNodeSize = newNodes.get(0).getTotalItemCount();
					}
				}
				
				// Update Edges
				Manager.overlayManager.invalidateAll(aggGraph);				
			}
		}