code: public void setValueBinding(String name, ValueBinding binding) {
  
          if ("value".equals(name)) {
              setDataModel(null);
          } else if ("var".equals(name) || "rowIndex".equals(name)) {
              throw new IllegalArgumentException();
          }
          super.setValueBinding(name, binding);
  
      }
docs: <p>If "name" is something other than "value", "var", or "rowIndex", rely
  on the superclass conversion from <code>ValueBinding</code> to
  <code>ValueExpression</code>.</p>
  
  @param name    Name of the attribute or property for which to set a
  {@link ValueBinding}
  @param binding The {@link ValueBinding} to set, or <code>null</code> to
  remove any currently set {@link ValueBinding}
  
  @throws IllegalArgumentException if <code>name</code> is one of
  <code>id</code>, <code>parent</code>,
  <code>var</code>, or <code>rowIndex</code>
  @throws NullPointerException     if <code>name</code> is <code>null</code>
  @deprecated This has been replaced by {@link #setValueExpression(java.lang.String,
  javax.el.ValueExpression)}.