public void setCount(int newHeadCount) {
		if (newHeadCount >= headCount)
			return;
		headCount = newHeadCount;

		if ((GlobalOptions.debuggingFlags & GlobalOptions.DEBUG_CONSTRS) != 0) {
			GlobalOptions.err.println("setCount: " + this + "," + newHeadCount);
			new Throwable().printStackTrace(GlobalOptions.err);
		}

		if (newHeadCount < headMinCount) {
			GlobalOptions.err
					.println("WARNING: something got wrong with scoped class "
							+ clazzAnalyzer.getClazz() + ": " + headMinCount
							+ "," + headCount);
			new Throwable().printStackTrace(GlobalOptions.err);
			headMinCount = newHeadCount;
		}

		if (ovListeners != null) {
			for (Enumeration enum_ = ovListeners.elements(); enum_
					.hasMoreElements();)
				((OuterValueListener) enum_.nextElement())
						.shrinkingOuterValues(this, newHeadCount);
		}
	}