With DXF, at the class author's discretion, data groups can be presented in arbitrary order, or optionally omitted. Some classes support order independence of data groups, while others do not. If you allow order independence, then your dxfInFields() function must use a switch statement to choose an action based on the group code value. Order independence is usually appropriate for objects with a fixed and predictable set of fields. Objects with variable-length arrays or structures tend to be order-dependent when they are filed out and in.