code: @Override
      public Object getValue(final Object _currentObject)
          throws EFapsException
      {
          Object ret = null;
          final Status tempStatus;
          if (_currentObject != null) {
              // check is necessary because Oracle JDBC returns for getObject always a BigDecimal
              if (_currentObject instanceof BigDecimal) {
                  tempStatus = Status.get(((BigDecimal) _currentObject).longValue());
              } else {
                  tempStatus = Status.get((Long) _currentObject);
              }
          } else {
              tempStatus = null;
          }
          if (tempStatus != null && getChildValueSelect() != null) {
              switch (getChildValueSelect().getValueType()) {
                  case "label":
                      ret = tempStatus.getLabel();
                      break;
                  case "oid":
                      ret = new StringBuilder().append(Type.get(tempStatus.getStatusGroup().getUUID()).getId())
                          .append(".").append(tempStatus.getId()).toString();
                      break;
                  case "key":
                      ret = tempStatus.getKey();
                      break;
                  case "type":
                      ret = ((TypeValueSelect) getChildValueSelect()).analyzeChildValue(getChildValueSelect(),
                                      Type.get(tempStatus.getStatusGroup().getUUID()));
                      break;
                  default:
                      ret = tempStatus;
                      break;
              }
          } else {
              ret = tempStatus;
          }
          return ret;
      }
docs: {@inheritDoc}