docs: public void getFieldData(FieldStuff fieldStuff, boolean bThin)
      {
          FieldData recFieldData = (FieldData)this.getRecord(FieldData.FIELD_DATA_FILE);
          Record recClassInfo2 = this.readFieldClass();      // Get the field and class this is based on
          if (recClassInfo2 == null)
              fieldStuff.strFieldClass = recFieldData.getField(FieldData.FIELD_CLASS).getString();
          else
              fieldStuff.strFieldClass = recClassInfo2.getField(ClassInfo.CLASS_NAME).getString();
          fieldStuff.strFieldName = recFieldData.getField(FieldData.FIELD_NAME).getString();
          fieldStuff.strFieldLength = recFieldData.getField(FieldData.MAXIMUM_LENGTH).getString();
          if ((fieldStuff.strFieldLength.length() == 0) || (fieldStuff.strFieldLength.equalsIgnoreCase("0")))
              fieldStuff.strFieldLength = "Constants.DEFAULT_FIELD_LENGTH";
          else
              fieldStuff.strFieldLength = recFieldData.getField(FieldData.MAXIMUM_LENGTH).stripNonNumeric(fieldStuff.strFieldLength);
          fieldStuff.strFileFieldName = recFieldData.getField(FieldData.FIELD_NAME).getString();
          if (fieldStuff.strFileFieldName.length() == 0)
              fieldStuff.strFileFieldName = fieldStuff.strFieldName;
          fieldStuff.bNotNullField = recFieldData.getField(FieldData.FIELD_NOT_NULL).getState();
          fieldStuff.strFieldDesc = recFieldData.getField(FieldData.FIELD_DESC_VERTICAL).getString();
          fieldStuff.strFieldTip = recFieldData.getField(FieldData.FIELD_DESCRIPTION).getString();
          if (fieldStuff.strFieldDesc.length() == 0)
              fieldStuff.strFieldDesc = fieldStuff.strFieldTip;
          if (fieldStuff.strFieldDesc.length() == 0)
              fieldStuff.strFieldDesc = fieldStuff.strFileFieldName;
          if (fieldStuff.strFieldDesc.equalsIgnoreCase("b"))
              fieldStuff.strFieldDesc = "";
          if (fieldStuff.strFieldDesc.length() > 14)
              fieldStuff.strFieldDesc = fieldStuff.strFieldDesc.substring(0, 14);             // Max length of this string is 14
          fieldStuff.strFileFieldName = this.fixSQLName(fieldStuff.strFileFieldName);
          if ((fieldStuff.strFieldDesc.equals(fieldStuff.strFieldTip))
              || (fieldStuff.strFieldTip == null)
              || (fieldStuff.strFieldTip.length() == 0))
                  fieldStuff.strFieldTip = null;  // Don't need a tip, if the tip and description are the same.
          if (fieldStuff.strFieldDesc.equals(fieldStuff.strFileFieldName))
              fieldStuff.strFieldDesc = "null"; // Default to field name fieldStuff.strFileFieldName;
          fieldStuff.strDataClass = recFieldData.getField(FieldData.DATA_CLASS).toString();
          fieldStuff.bHidden = recFieldData.getField(FieldData.HIDDEN).getState();
          this.getBaseDataClass(fieldStuff);
  
          fieldStuff.strDefaultField = this.getInitField(recFieldData, true, bThin);
          if ((fieldStuff.strDefaultField == null) || (fieldStuff.strDefaultField.length() == 0))
              fieldStuff.strDefaultField = "null";
          else if (fieldStuff.strDefaultField.charAt(0) != '\"')
          {
              if ((fieldStuff.strDataClass.equals("String")) || (fieldStuff.strDataClass.equals("Object")) || (fieldStuff.strDataClass == null))
                  fieldStuff.strDefaultField = "\"" + fieldStuff.strDefaultField + "\"";
              else
              {
                  if (fieldStuff.strDataClass.equals("Short"))
                      fieldStuff.strDefaultField = "(short)" + fieldStuff.strDefaultField;
                  if (fieldStuff.strDataClass.equals("Currency"))
                      fieldStuff.strDataClass = "Double";
                  if (!fieldStuff.strDefaultField.startsWith("new "))
                      fieldStuff.strDefaultField = "new " + fieldStuff.strDataClass + "(" + fieldStuff.strDefaultField + ")";
              }
          }
      }