String targetAttributeName,
String attributeExpressionString,
ValueExpression attributeNameValueExpression,
boolean ccAttrMeRedirection)
{
ValueChangeListener o = (ValueChangeListener) mctx.removeMethodExpressionTargeted(
innerComponent, targetAttributeName);
if (o != null)
{
((EditableValueHolder) innerComponent).removeValueChangeListener(o);
}
// target is EditableValueHolder
ValueChangeListener valueChangeListener = null;
// If it is a redirection, a wrapper is used to locate the right instance and call it properly.
if (ccAttrMeRedirection)
{
valueChangeListener = new RedirectMethodExpressionValueExpressionValueChangeListener(
attributeNameValueExpression);