code: public int getFieldTypes(Record record)
      {
          int iFieldTypes = m_iFieldTypes;
          if (iFieldTypes == -1)
          {
              iFieldTypes = BaseBuffer.PHYSICAL_FIELDS;
              if (!record.isAllSelected())
                  iFieldTypes = BaseBuffer.DATA_FIELDS; // (Selected excluding virtual)
          }
          return iFieldTypes;
      }
docs: Return thie field types to select/return used on the last makeFieldList call.
  @param record The record to check the field types selected.
  @return The fieldtypes selected.