@Override
	protected final void finalize() {
		synchronized (instances) {
			for (final WeakReference<Variable> wRef : instances) {
				if ((wRef != null) && (wRef.get() == this)) {
					instances.remove(wRef);
					return;
				}
			}
		}
	}