private boolean finalizeMoleculeRotation(Molecule mol) {
		Atom at;
		synchronized (mol.getSynchronizedLock()) {
			for (Iterator it = mol.iterator(); it.hasNext();) {
				at = (Atom) it.next();
				if (!boundary.contains(at.getRx(), at.getRy())) {
					errorReminder.show(ErrorReminder.OUT_OF_BOUND);
					mol.restoreState();
					repaint();
					return false;
				}
			}
		}
		if (intersects(mol)) {
			errorReminder.show(ErrorReminder.OBJECT_OVERLAP);
			mol.restoreState();
			repaint();
			return false;
		}
		return true;
	}