private void storeRedoState(Rotatable r) {
			if (r instanceof Molecule) {
				Molecule mol = (Molecule) r;
				redoCOM = mol.getCenterOfMass2D();
				if (redoCRD == null) {
					redoCRD = new HashMap<Atom, Point2D>();
				} else {
					redoCRD.clear();
				}
				Atom at;
				synchronized (mol.getSynchronizedLock()) {
					for (Iterator it = mol.iterator(); it.hasNext();) {
						at = (Atom) it.next();
						redoCRD.put(at, new Point2D.Double(at.getRx(), at.getRy()));
					}
				}
			} else if (r instanceof ImageComponent) {

			}
		}