code: public FieldDescriptor[] getFieldDescriptor(boolean withInherited)
      {
          if(withInherited && getSuperClassDescriptor() != null)
          {
              /*
              arminw: only return no-PK fields, because all PK fields are declared
              in sub-class too.
              */
              FieldDescriptor[] superFlds = getSuperClassDescriptor().getFieldDescriptorNonPk(true);
              if(m_FieldDescriptions == null)
              {
                  m_FieldDescriptions = new FieldDescriptor[0];
              }
              FieldDescriptor[] result = new FieldDescriptor[m_FieldDescriptions.length + superFlds.length];
              System.arraycopy(m_FieldDescriptions, 0, result, 0, m_FieldDescriptions.length);
              System.arraycopy(superFlds, 0, result, m_FieldDescriptions.length, superFlds.length);
              // System.out.println("all fields: " + ArrayUtils.toString(result));
              return result;
          }
          else
          {
              return m_FieldDescriptions;
          }
      }
docs: Return an array of all {@link FieldDescriptor} for this represented class, if
  parameter <em>withInherited</em> is <em>true</em> all inherited descriptor
  of declared super classes are included.
  
  @param withInherited If <em>true</em> inherited super class fields will be included.