public Expression simplify() {
		if (!staticFlag) {
			subExpressions[0] = subExpressions[0].simplify();
			subExpressions[0].parent = this;
			if (subExpressions[0] instanceof ThisOperator) {
				FieldAnalyzer field = getField();
				/*
				 * This should check for isFinal(), but sadly, sometimes jikes
				 * doesn't make a val$ field final. I don't know when, or why,
				 * so I currently ignore isFinal.
				 */
				if (field != null && field.isSynthetic()) {
					Expression constant = field.getConstant();
					if (constant instanceof ThisOperator
							|| constant instanceof OuterLocalOperator)
						return constant;
				}
			}
		}
		return this;
	}