docs: public void addFieldDescriptor(FieldDescriptor fld)
      {
          fld.setClassDescriptor(this); // BRJ
          if (m_FieldDescriptions == null)
          {
              m_FieldDescriptions = new FieldDescriptor[1];
              m_FieldDescriptions[0] = fld;
          }
          else
          {
              int size = m_FieldDescriptions.length;
              FieldDescriptor[] tmpArray = new FieldDescriptor[size + 1];
              System.arraycopy(m_FieldDescriptions, 0, tmpArray, 0, size);
              tmpArray[size] = fld;
              m_FieldDescriptions = tmpArray;
              // 2. Sort fields according to their getOrder() Property
              Arrays.sort(m_FieldDescriptions, FieldDescriptor.getComparator());
          }
  
          m_fieldDescriptorNameMap = null;
          m_PkFieldDescriptors = null;
          m_nonPkFieldDescriptors = null;
          m_lockingFieldDescriptors = null;
          m_RwFieldDescriptors = null;
          m_RwNonPkFieldDescriptors = null;
      }