docs: public int edit() throws DBException
      {
          if (m_iLogicalFilePosition == UNKNOWN_POSITION)
              throw new DatabaseException(DBConstants.INVALID_RECORD);    // Data source exception
          else if (m_iLogicalFilePosition == ADD_NEW_POSITION)
          {   // addNew - No extra processing (Usually locking a refeshed record)
          }
          else if (m_iLogicalFilePosition != m_iPhysicalFilePosition)
          { // Move to this physical location
              try   {
                  DataRecord dataRecord = (DataRecord)this.elementAt(m_iLogicalFilePosition);
                  m_iPhysicalFilePosition = m_iLogicalFilePosition;
                  this.getNextTable().addNew();   // Make sure setHandle doesn't just use the current record!
                  dataRecord.setBuffer(null);   // Make sure you don't just restore the cached copy
                  boolean bFound = this.getNextTable().setDataRecord(dataRecord);
                  if (bFound)
                      this.addRecordReference(m_iLogicalFilePosition);    // Update data record to current copy
                  if (!bFound)
                      throw new DatabaseException(DBConstants.INVALID_RECORD);    // Data source exception
              } catch (DBException ex)    {
                  ex.printStackTrace(); // Ignore exception?
              }
          }
          return super.edit();
      }