docs: private void fetchImportedKeys() {
  
          Vector imKeys      = new Vector(20);
          Vector imKeyNames  = null;
          Vector refTabs     = new Vector(20);
          Vector refCols     = new Vector(20);
          Vector refColNames = null;
  
          try {
              if (cConn == null) {
                  return;
              }
  
              if (dbmeta == null) {
                  dbmeta = cConn.getMetaData();
              }
  
              ResultSet colList = dbmeta.getImportedKeys(null, null, tableName);
              String    pkTable, pkColumn, fkColumn;
              int       keySeq;
  
              while (colList.next()) {
                  pkTable  = colList.getString("PKTABLE_NAME");
                  pkColumn = colList.getString("PKCOLUMN_NAME");
                  fkColumn = colList.getString("FKCOLUMN_NAME");
                  keySeq   = colList.getInt("KEY_SEQ");
  
                  if (keySeq == 1) {
                      if (imKeyNames != null) {
                          imKeys.addElement(imKeyNames);
                          refCols.addElement(refColNames);
                      }    // end of if (exKeyNames != null)
  
                      imKeyNames  = new Vector(20);
                      refColNames = new Vector(20);
  
                      refTabs.addElement(pkTable);
                  }        // end of if (keySeq == 1)
  
                  imKeyNames.addElement(fkColumn);
                  refColNames.addElement(pkColumn);
              }
  
              if (imKeyNames != null) {
                  imKeys.addElement(imKeyNames);
                  refCols.addElement(refColNames);
              }            // end of if (exKeyNames != null)
  
              colList.close();
          } catch (SQLException e) {
              ZaurusEditor.printStatus("SQL Exception: " + e.getMessage());
          }
  
          // System.out.println("Imported Keys of "+tableName);
          int numberOfConstraints = imKeys.size();
  
          importedKeys = new String[numberOfConstraints][];
          imColIndex   = new int[numberOfConstraints][];
          refTables    = new String[numberOfConstraints];
          refColumns   = new String[numberOfConstraints][];
          refColIndex  = new int[numberOfConstraints][];
  
          for (int i = 0; i < numberOfConstraints; i++) {
              Vector keys         = (Vector) imKeys.elementAt(i);
              Vector cols         = (Vector) refCols.elementAt(i);
              int    numberOfKeys = keys.size();
  
              importedKeys[i] = new String[numberOfKeys];
              imColIndex[i]   = new int[numberOfKeys];
              refColumns[i]   = new String[numberOfKeys];
              refColIndex[i]  = new int[numberOfKeys];
              refTables[i]    = (String) refTabs.elementAt(i);
  
              // System.out.println("reference table "+refTables[i]);
              for (int j = 0; j < numberOfKeys; j++) {
                  importedKeys[i][j] = (String) keys.elementAt(j);
                  imColIndex[i][j]   = this.getColIndex(importedKeys[i][j]);
                  refColumns[i][j]   = (String) cols.elementAt(j);
                  refColIndex[i][j] = this.getColIndex(refColumns[i][j],
                                                       refTables[i]);
  
                  // System.out.println("   importedKeys "+importedKeys[i][j]+"(Index: "+imColIndex[i][j]+") refColumns "+refColumns[i][j]+"(Index: "+refColIndex[i][j]+")");
              }    // end of for (int j=0; j<numberOfKeys; j++)
          }
      }