code: private UIField evaluateUIProvider(final PrintQuery _print,
                                         final Field _field,
                                         final Instance _fieldInstance,
                                         final Attribute _attr)
          throws EFapsException
      {
          Object value = null;
          if (_field.getAttribute() != null) {
              value = _print.<Object>getAttribute(_field.getAttribute());
          } else if (_field.getSelect() != null) {
              value = _print.<Object>getSelect(_field.getSelect());
          } else if (_field.getPhrase() != null) {
              value = _print.getPhrase(_field.getName());
          } else if (_field.getMsgPhrase() != null) {
              value = _print.getMsgPhrase(new SelectBuilder(getBaseSelect4MsgPhrase(_field)), _field.getMsgPhrase());
          }
          final UIField uiField = new UIField(this, _fieldInstance.getKey(), UIValue.get(_field, _attr, value)
                          .setInstance(_fieldInstance)
                          .setCallInstance(getInstance())
                          .setClassObject(this));
          return uiField;
      }
docs: Method evaluates a Field and adds it to the row.
  
  @param _print query containing the values
  @param _field field the cell belongs to
  @param _fieldInstance instance of the Field
  @param _attr attribute for the Field
  @return the UI field
  @throws EFapsException on error