public void applyPreserveRule(IdentifierMatcher preserveRule) {
		if (preserveRule.matches(this)) {
			System.err.println("preserving: " + this);
			setReachable();
			Identifier ident = this;
			while (ident != null) {
				ident.setPreserved();
				ident = ident.getParent();
			}
		}
		for (Iterator i = getChilds(); i.hasNext();)
			((Identifier) i.next()).applyPreserveRule(preserveRule);
	}