docs: public boolean setDataRecord(DataRecord dataRecord)
      {
          m_objectID = null;
          m_dataSource = null;
      
          boolean bFound = false;
          if (dataRecord.getBuffer() == null)
          {
              this.getCurrentTable().getRecord().setEditMode(Constants.EDIT_NONE);    // Make sure read doesn't use current record.
          }
          else
          {
              m_iRecordStatus = DBConstants.RECORD_NORMAL;
              this.getCurrentTable().getRecord().setEditMode(Constants.EDIT_CURRENT);     // Data Current, not locked
              dataRecord.getBuffer().bufferToFields(this.getCurrentTable().getRecord(), DBConstants.DONT_DISPLAY, DBConstants.READ_MOVE);
              this.getCurrentTable().getRecord().handleValidRecord();   // Display Fields
              bFound = true;
              m_objectID = dataRecord.getHandle(DBConstants.OBJECT_ID_HANDLE);
              m_dataSource = dataRecord.getHandle(DBConstants.DATA_SOURCE_HANDLE);
          } 
          try   {
              if (!bFound) if (dataRecord.getHandle(DBConstants.DATA_SOURCE_HANDLE) != null)
                  bFound = (this.setHandle(dataRecord.getHandle(DBConstants.DATA_SOURCE_HANDLE), DBConstants.DATA_SOURCE_HANDLE) != null);
              } catch (DBException ex)    {
                  return false; // Not found
              }   
      
          try   {
              if (!bFound) if (dataRecord.getHandle(DBConstants.BOOKMARK_HANDLE) != null)
                  bFound = (this.setHandle(dataRecord.getHandle(DBConstants.BOOKMARK_HANDLE), DBConstants.BOOKMARK_HANDLE) != null);
              } catch (DBException ex)    {
                  return false; // Not found
              }   
      
          try   {
              if (!bFound) if (dataRecord.getHandle(DBConstants.OBJECT_ID_HANDLE) != null)
                  bFound = (this.setHandle(dataRecord.getHandle(DBConstants.OBJECT_ID_HANDLE), DBConstants.OBJECT_ID_HANDLE) != null);
              } catch (DBException ex)    {
                  return false; // Not found
              }
      
          return bFound;  // Return
      }