protected void exchangeRows(int row, int targetRow, P currentItem) {
    getVariableData()[row] = getVariableData()[targetRow];
    getVariableData()[targetRow] = currentItem;
  }
protected void exchangeRows(int row, int targetRow, P currentItem)