@SuppressWarnings("unchecked")
  protected void updateColumnList(IMetadataTable oldTable, IMetadataTable newTable) {
    final List<ColumnNameChanged> columnNameChanged =
        MetadataToolHelper.getColumnNameChanged(oldTable, newTable);

    if (inputNode != null) {
      List<IElementParameter> eps = (List<IElementParameter>) inputNode.getElementParameters();
      if (eps != null) {
        boolean end = false;
        for (int i = 0; i < eps.size() && !end; i++) {
          IElementParameter parameter = eps.get(i);
          if (parameter.getFieldType() == EParameterFieldType.TABLE) {
            end = true;
            if (parameter != null) {
              List<Map<String, Object>> map2 = (List<Map<String, Object>>) parameter.getValue();
              if (map2 != null
                  && inputNode.getMetadataList().get(0).getListColumns().size() != map2.size()) {
                ColumnListController.updateColumnList(inputNode, columnNameChanged);
              }
            }
          }
        }
      }
      inputNode.setPropertyValue(EParameterName.UPDATE_COMPONENTS.getName(), Boolean.TRUE);
    }
    node.setPropertyValue(EParameterName.UPDATE_COMPONENTS.getName(), Boolean.TRUE);
  }
  @Override
  public void execute() {
    oldType = (String) paramEncoding.getValue();

    String tempValue = newRealValue;
    tempValue = tempValue.replaceAll("'", ""); // $NON-NLS-1$ //$NON-NLS-2$
    tempValue = tempValue.replaceAll("\"", ""); // $NON-NLS-1$ //$NON-NLS-2$

    boolean newIsCustomAndoldIsNotCustom =
        tempValue.equals(EmfComponent.ENCODING_TYPE_CUSTOM)
            && !paramEncoding.getValue().equals(EmfComponent.ENCODING_TYPE_CUSTOM);
    boolean newIsNotCustomAndoldIsCustom =
        !tempValue.equals(EmfComponent.ENCODING_TYPE_CUSTOM)
            && paramEncoding.getValue().equals(EmfComponent.ENCODING_TYPE_CUSTOM);
    boolean toRefresh = false;
    if (fromCombo && (newIsCustomAndoldIsNotCustom || newIsNotCustomAndoldIsCustom)) {
      toRefresh = true;
    }
    if (ArrayUtils.contains(paramEncoding.getListItemsValue(), tempValue)) {
      paramEncoding.setValue(tempValue);
    }
    if (toRefresh) {
      getElement().setPropertyValue(EParameterName.UPDATE_COMPONENTS.getName(), Boolean.TRUE);
      if (DynamicTabbedPropertySection.getLastPropertyUsed() != null) {
        DynamicTabbedPropertySection.getLastPropertyUsed().refresh();
      }
    }
    super.execute();
  }