docs: public int moveToIndex(int index)
      {
          int index2 = index;
          int iErrorCode = DBConstants.NORMAL_RETURN;
          if (m_bIncludeBlankOption)
          {
              if (index == 0)
                  iErrorCode = DBConstants.ERROR_RETURN;
              index2--; // Offset by one
          }
          if (index == -1)
              iErrorCode = DBConstants.ERROR_RETURN;
          if (iErrorCode == DBConstants.NORMAL_RETURN)
          {
              if (index2 != -1)
              {
                  try
                  {
                      Record record = (Record)m_gridTable.get(index2);    //?, DONT_DISPLAY);   // DON'T Display, or you will be caught in a loop
                      if (record == null)
                          iErrorCode = DBConstants.END_OF_FILE;
                  }
                  catch( DBException e )
                  {
                      iErrorCode = e.getErrorCode();
                  }
              }
              else
                  iErrorCode = DBConstants.ERROR_RETURN;  // Do an addNew
          }
          else        // This is usually selecting index 0 or -1!
          {
              m_record.initRecord(DBConstants.DISPLAY);  // Clear the fields!
              iErrorCode = DBConstants.NORMAL_RETURN;   // Clear fields = record 0
          }
          return iErrorCode;
      }