public ArrayList<ArrayList> moveChanges() {
    ArrayList<ArrayList> res = new ArrayList<ArrayList>(0);
    try {
      for (int i = 0; i < idch.getChangesetID().size(); ++i) {
        Integer old_ch = (Integer) idch.getChangesetID().get(i).get(0);
        Integer new_ch = (Integer) idch.getChangesetID().get(i).get(1);
        List lst = client.queryForList("GetChanges", new ParamHelper(s_db, old_ch));
        for (int j = 0; j < lst.size(); ++j) {
          Change c = (Change) lst.get(j);
          c.setT_db(t_db);
          c.setChangeset_id(new_ch);

          client.insert("insertChange", c);
          res.add(new ArrayList(0));
          int newID =
              (Integer) client.queryForObject("LastInsertId", new ParamHelper(t_db, "changes"));
          res.get(res.size() - 1).add(c.getId());
          res.get(res.size() - 1).add(newID);
        }
      }
    } catch (Exception e) {
      logger.error("in moveChanges", e);
      JOptionPane.showMessageDialog(
          null, e.getMessage() + e.getStackTrace(), "Беда!", JOptionPane.ERROR_MESSAGE);
      // e.printStackTrace();
    }
    return res;
  }
 public void moveChangesetsIssues() {
   try {
     for (int i = 0; i < idch.getChangesetID().size(); ++i) {
       Integer old_ch = (Integer) idch.getChangesetID().get(i).get(0);
       Integer new_ch = (Integer) idch.getChangesetID().get(i).get(1);
       List lst = client.queryForList("GetChangesetsIssues", new ParamHelper(s_db, old_ch));
       for (int j = 0; j < lst.size(); ++j) {
         ChangesetsIssue c = (ChangesetsIssue) lst.get(j);
         c.setT_db(t_db);
         c.setChangeset_id(new_ch);
         c.setIssue_id(idch.evaluateID(idch.getIssueID(), c.getIssue_id()));
         client.insert("insertChangesetsIssue", c);
       }
     }
   } catch (Exception e) {
     logger.error("in moveChangesetsIssues", e);
     JOptionPane.showMessageDialog(
         null, e.getMessage() + e.getStackTrace(), "Беда!", JOptionPane.ERROR_MESSAGE);
     // e.printStackTrace();
   }
 }