return true;
	private void rewriteCastVariable(CastVariable2 castCv, CompilationUnitRewrite rewrite) {		ASTNode node= castCv.getRange().getNode(rewrite.getRoot());				ConstraintVariable2 expressionVariable= castCv.getExpressionVariable();		ConstraintVariable2 methodReceiverCv= fTCModel.getMethodReceiverCv(expressionVariable);		if (methodReceiverCv != null) {			TType chosenReceiverType= InferTypeArgumentsConstraintsSolver.getChosenType(methodReceiverCv);			if (chosenReceiverType == null)				return;			else if (! InferTypeArgumentsTCModel.isAGenericType(chosenReceiverType))				return;			else if (hasUnboundElement(methodReceiverCv))				return;		}				CastExpression castExpression= (CastExpression) node;		Expression expression= castExpression.getExpression();		ASTNode nodeToReplace;		if (castExpression.getParent() instanceof ParenthesizedExpression)			nodeToReplace= castExpression.getParent();		else			nodeToReplace= castExpression;				Expression newExpression= (Expression) rewrite.getASTRewrite().createMoveTarget(expression);		rewrite.getASTRewrite().replace(nodeToReplace, newExpression, rewrite.createGroupDescription(RefactoringCoreMessages.InferTypeArgumentsRefactoring_removeCast)); 		rewrite.getImportRemover().registerRemovedNode(nodeToReplace);	}