docs: public void setSelected(String strFields)
      {
          String SELECT = "SELECT ";
          int iLastPlus = strFields.length();
          while ((iLastPlus > 1) && (strFields.charAt(iLastPlus-1) == ' '))
          {
              iLastPlus--;        // Strip Trailing space
          }
          int iStart = 0;
          while ((iLastPlus > iStart + 1) && (strFields.charAt(iStart) == ' '))
          {
              iStart++;       // Strip Leading space
          }
          if (iLastPlus > iStart+7) if (strFields.substring(iStart, iStart+7).equalsIgnoreCase(SELECT))
              iStart += SELECT.length();  // Leading "SELECT "
          if (strFields.substring(iStart, iLastPlus).equals("*"))
              this.setSelected(true);   // Select all
          else
          {   // Select the fields
              this.setSelected(false);    // Deselect all to start
              int iEnd = 0;
              while (iEnd < iLastPlus)
              {
                  iEnd = strFields.indexOf(',', iStart);  // Next comma
                  if (iEnd == -1)
                      iEnd = iLastPlus;
                  String strField = strFields.substring(iStart, iEnd);    // Next selected field
                  BaseField field = this.getField(strField);
                  if (field != null)
                      field.setSelected(true);    // Select this field
                  iStart = iEnd + 1;
                  if (iEnd < iLastPlus) if (strFields.charAt(iStart) == ' ')
                      iStart++; // Skip the space
              }
          }
      }