public String asString() {
		try {
			String old = (String) reference.get();
			if (old.equals(string))
				return string;
			string = old;
			reference = null;
			distributeChangeEvent(old);
		} catch (NullPointerException e) {
		}
		return string;
	}