@Override
  public JsonMap toJson() {
    JsonMap retVal = new JsonMap();
    retVal.add(JSON_ID, this.id);
    retVal.add(JSON_LABEL, this.label);
    retVal.add(JSON_TOOLTIP, this.tooltip);
    retVal.add(JSON_TYPE, this.type);

    return retVal;
  }
  @Override
  public JsonMap toJson() {
    JsonMap json = super.toJson();

    json.add(JSON_VALUE, this.getStringValue());

    return json;
  }
 @Override
 public JsonElement toJson() {
   JsonMap json = new JsonMap();
   json.add(JSON_ID, this.getId());
   json.add(JSON_LABEL, this.getLabel());
   json.add(JSON_TOOLTIP, this.getTooltip());
   json.add(JSON_IMAGE, this.getImage());
   json.add(JSON_ACTION, this.getActionId());
   json.add(JSON_PARAMETER, this.getParameter());
   json.add(JSON_DISABLED, this.isDisabled());
   json.add(JSON_TYPE, WebElementType.BUTTON.getName());
   return json;
 }