code: public TableColumnVisibility convertTableColumnVisibility(final String tableIdentifier, final String json) {
          final String[] split = this.splitColumns(json);
  
          final List<String> visibleColumns = new ArrayList<>();
          final List<String> invisibleColumns = new ArrayList<>();
  
          for (String column : split) {
              final String[] attribute = this.splitAttributes(column);
              final String identifier = attribute[0].split(":")[1];
              final String visible = attribute[1].split(":")[1];
  
              if (Boolean.valueOf(visible)) {
                  visibleColumns.add(identifier);
              } else {
                  invisibleColumns.add(identifier);
              }
          }
  
          return new TableColumnVisibility(tableIdentifier, visibleColumns, invisibleColumns);
      }
docs: Converts given json string to {@link TableColumnVisibility} used by {@link TableColumnVisibilityModel}.
  
  @param tableIdentifier an application unique table identifier.
  @param json            string to convert to {@link TableColumnVisibility}.
  @return the converted {@link TableColumnVisibility}.