public Object getField(Reference ref, Object obj)
			throws InterpreterException {
		if (isWhite(ref))
			return super.getField(ref, obj);
		FieldIdentifier fi = (FieldIdentifier) Main.getClassBundle()
				.getIdentifier(ref);
		if (fi != null && !fi.isNotConstant()) {
			Object result = fi.getConstant();
			if (currentFieldListener != null)
				fi.addFieldListener(currentFieldListener);
			if (result == null)
				result = getDefaultValue(ref.getType());
			return result;
		}
		throw new InterpreterException("Field " + ref + " not constant");
	}