docs: public org.jbundle.thin.base.db.FieldList makeFieldList(String strFieldsToInclude) throws RemoteException
      {
          synchronized (this.getTask())
          {
              FieldList fieldList = new FieldList(null);
              Record record = this.getMainRecord();
              boolean bAllSelected = record.isAllSelected();
              if (SELECTED.equalsIgnoreCase(strFieldsToInclude))
                  bAllSelected = false;
              if (bAllSelected)
                  m_iFieldTypes = BaseBuffer.PHYSICAL_FIELDS;
              else
                  m_iFieldTypes = BaseBuffer.SELECTED_FIELDS; // Pass all selected (thin will need them).
              if (SELECTED.equalsIgnoreCase(strFieldsToInclude))
                  m_iFieldTypes = BaseBuffer.SELECTED_FIELDS; // Pass all selected (including virtual)
              for (int iFieldSeq = 0; iFieldSeq < record.getFieldCount(); iFieldSeq++)
              {
                  BaseField field = record.getField(iFieldSeq);
                  if ((m_iFieldTypes == BaseBuffer.PHYSICAL_FIELDS) ||  (m_iFieldTypes == BaseBuffer.DATA_FIELDS))
                      if (field.isVirtual())
                          continue;   // Do not use virtual fields
                  if ((m_iFieldTypes == BaseBuffer.DATA_FIELDS) || (m_iFieldTypes == BaseBuffer.SELECTED_FIELDS))
                      if (!field.isSelected())
                          continue;   // If not all fields are selected, only build the selected fields.
                  FieldInfo fieldInfo = new FieldInfo(fieldList, field.getFieldName(), field.getMaxLength(), field.getFieldDesc(), field.getDefault());
                  fieldInfo.setDataClass(field.getDataClass());
              }
      //      for (int iKeyFieldSeq = 0; iKeyFieldSeq < record.getKeyAreaCount(); iKeyFieldSeq++)
              int iKeyFieldSeq = 0;
              {
                  KeyArea keyArea = record.getKeyArea(iKeyFieldSeq);
                  KeyAreaInfo keyAreaInfo = new KeyAreaInfo(fieldList, keyArea.getUniqueKeyCode(), keyArea.getKeyName());
                  int iKeyField = 0;
                      keyAreaInfo.addKeyField(keyArea.getField(iKeyField).getFieldName(), keyArea.getKeyOrder(iKeyField));
              }
              return fieldList;
          }
      }