@Override
  public String getAsString(FacesContext ctx, UIComponent component, Object value) {

    if (value != null && !"".equals(value)) {

      InstituicaoLicitadora entity = (InstituicaoLicitadora) value;

      // adiciona item como atributo do componente
      this.addAttribute(component, entity);

      Long codigo = entity.getId();
      if (codigo != null) {
        return String.valueOf(codigo);
      }
    }

    return (String) value;
  }
 protected void addAttribute(UIComponent component, InstituicaoLicitadora o) {
   String key = o.getId().toString(); // codigo da empresa como chave neste caso
   this.getAttributesFrom(component).put(key, o);
 }