result = "?";
result = null;
  public Object getValueAt(int rowIndex, int columnIndex) {    Object            result;    String            tmp;        result = null;        if (    (rowIndex >= 0) && (rowIndex < getRowCount())        && (columnIndex >= 0) & (columnIndex < getColumnCount()) ) {      if (columnIndex == 0) {        result = new Integer(rowIndex + 1);      }      else {        if (isMissingAt(rowIndex, columnIndex)) {          result = "?";        }        else {          switch (getType(columnIndex)) {            case Attribute.DATE:             case Attribute.NOMINAL:            case Attribute.STRING:              result = data.instance(rowIndex).stringValue(columnIndex - 1);              break;            case Attribute.NUMERIC:              result = new Double(data.instance(rowIndex).value(columnIndex - 1)).toString();              break;          }        }      }    }        // does it contain "\n" or "\r"? -> replace with ", "    tmp = result.toString();    if ( (tmp.indexOf("\n") > -1) || (tmp.indexOf("\r") > -1) ) {      tmp    = tmp.replaceAll("\\r\\n", ", ");      tmp    = tmp.replaceAll("\\r", ", ").replaceAll("\\n", ", ");      tmp    = tmp.replaceAll(", $", "");      result = tmp;    }        return result;  }