docs: public FieldList setHandle(Object bookmark, int iHandleType) throws DBException
      {
          if ((iHandleType == DBConstants.OBJECT_ID_HANDLE) || (iHandleType == DBConstants.BOOKMARK_HANDLE))
          {
              BaseTable table = null;
              Object strTable = this.getInfoFromHandle(bookmark, true, iHandleType);
              Iterator<BaseTable> iterator = this.getTables();
              while (iterator.hasNext())
              {
                  table = iterator.next();
                  if (strTable.equals(table.getRecord().getHandle(DBConstants.OBJECT_SOURCE_HANDLE)))
                      break;
              }
              bookmark = this.getInfoFromHandle(bookmark, false, iHandleType);
              this.setCurrentTable(table);
          }
          else if (iHandleType == DBConstants.DATA_SOURCE_HANDLE)
          {
              BaseTable table = ((FullDataSource)bookmark).getTable();
              bookmark = ((FullDataSource)bookmark).getDataSource();
              this.setCurrentTable(table);
          }
          FieldList record = null;
          BaseTable table = this.getCurrentTable();
          if (table != null)
              record = table.setHandle(bookmark, iHandleType);
          else
              record = null;
          this.syncCurrentToBase();
          return record;
      }