docs: public void writeClassFields(CodeType codeType)
      {
          try   {
              ClassInfo classInfo = (ClassInfo)this.getRecord(ClassInfo.CLASS_INFO_FILE);
              boolean hasAnInterface = classInfo.isARecord(false);
              Record recClassFields = this.getRecord(ClassFields.CLASS_FIELDS_FILE);
              recClassFields.close();
              while (recClassFields.hasNext())
              {
                  recClassFields.next();
                  if (!((IncludeScopeField)recClassFields.getField(ClassFields.INCLUDE_SCOPE)).includeThis(codeType, hasAnInterface))
                      continue;
                  String strFieldName = recClassFields.getField(ClassFields.CLASS_FIELD_NAME).getString();
                  String strFieldClass = recClassFields.getField(ClassFields.CLASS_FIELD_CLASS).getString();
                  String strReference = "";
                  String strClassFieldType = recClassFields.getField(ClassFields.CLASS_FIELDS_TYPE).toString();
                  if ((strClassFieldType.equalsIgnoreCase(ClassFieldsTypeField.CLASS_FIELD))
                      || (strClassFieldType.equalsIgnoreCase(ClassFieldsTypeField.NATIVE_FIELD))
                      || (strClassFieldType.equalsIgnoreCase(ClassFieldsTypeField.CLASS_NAME))
                      || (strClassFieldType.equalsIgnoreCase(ClassFieldsTypeField.SCREEN_CLASS_NAME)))
                          if (strFieldName.length() != 0)
                  {
                          if (strClassFieldType.equalsIgnoreCase(ClassFieldsTypeField.CLASS_FIELD))
                              strReference = " = null";
                          else
                              strReference = "";
                      String strProtection = "protected";
                      if (recClassFields.getField(ClassFields.CLASS_FIELD_PROTECT).getString().equalsIgnoreCase("S"))
                          strProtection = "protected static";  // Static member function
                      else if (!recClassFields.getField(ClassFields.CLASS_FIELD_PROTECT).isNull())
                          strProtection = recClassFields.getField(ClassFields.CLASS_FIELD_PROTECT).toString();
                      String strInitialValue = "";
                      String strAssignmentOperator = " = ";
                      if ("enum".equals(strFieldClass))
                          strAssignmentOperator = " ";
                      if (!recClassFields.getField(ClassFields.CLASS_FIELD_INITIAL_VALUE).isNull())
                          strInitialValue = strAssignmentOperator + recClassFields.getField(ClassFields.CLASS_FIELD_INITIAL_VALUE).toString();
                      if ((strClassFieldType.equalsIgnoreCase(ClassFieldsTypeField.CLASS_NAME))
                              || (strClassFieldType.equalsIgnoreCase(ClassFieldsTypeField.SCREEN_CLASS_NAME)))
                      {
                          if (recClassFields.getField(ClassFields.CLASS_FIELD_PROTECT).isNull())
                              strProtection = "public static final";  // Default
                          ClassInfo recClassInfo2 = new ClassInfo(this);
                          recClassInfo2.setKeyArea(ClassInfo.CLASS_NAME_KEY);
                          recClassInfo2.getField(ClassInfo.CLASS_NAME).setString(strFieldClass);   // Class of this record
                          if (recClassInfo2.seek("="))
                          {
                              strInitialValue = " = \"" + recClassInfo2.getFullClassName() + "\"";
                              strFieldClass = "String";
                          }
                      }
                      m_StreamOut.writeit(strProtection + " " + strFieldClass + " " + strFieldName + strReference + strInitialValue + ";\n");
                  }
              }
              recClassFields.close();
          } catch (DBException ex)   {
              ex.printStackTrace();
          }
      }