code: protected ITypeComputationState reassignCheckedType(XExpression condition, /* @Nullable */ XExpression guardedExpression, ITypeComputationState state) {
  		if (condition instanceof XInstanceOfExpression) {
  			XInstanceOfExpression instanceOfExpression = (XInstanceOfExpression) condition;
  			JvmTypeReference castedType = instanceOfExpression.getType();
  			if (castedType != null) {
  				state = state.withTypeCheckpoint(guardedExpression);
  				JvmIdentifiableElement refinable = getRefinableCandidate(instanceOfExpression.getExpression(), state);
  				if (refinable != null) {
  					state.reassignType(refinable, state.getReferenceOwner().toLightweightTypeReference(castedType));
  				}
  			}
  		}
  		return state;
  	}
docs: If the condition is a {@link XInstanceOfExpression type check}, the checked expression
  will be automatically casted in the returned state.