code: public static AbstractTableModel getUnBoundProperties(final CSProperties p) throws ParseException {
  
  
          final List<String> arr = keysByNotMeta(p, "bound");
  
          return new AbstractTableModel() {
  
              @Override
              public int getRowCount() {
                  return arr.size();
              }
  
              @Override
              public int getColumnCount() {
                  return 2;
              }
  
              @Override
              public Object getValueAt(int rowIndex, int columnIndex) {
                  if (columnIndex == 0) {
                      return arr.get(rowIndex);
                  } else {
                      return p.get(arr.get(rowIndex));
                  }
              }
  
              @Override
              public boolean isCellEditable(int rowIndex, int columnIndex) {
                  return columnIndex == 1;
              }
  
              @Override
              public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
                  p.put(arr.get(rowIndex), aValue.toString());
              }
  
              @Override
              public String getColumnName(int column) {
                  return (column == 0) ? "Key" : "Value";
              }
  
              @Override
              public Class<?> getColumnClass(int columnIndex) {
                  return String.class;
              }
          };
      }
docs: unbound