Getting a 2nd-level-nested is not much different than getting a 1st-level group.
I didn't read your NYSE doc, but I assume that the Parties
group is inside of the NoSides
group just like in the regular FIX44 spec.
This code would probably work. (I haven't compiled it.) I didn't do any group-count checking, but I think you know that part.
PartyID partyId = new PartyID();
// group
quickfix.fix44.TradeCaptureReport.NoSides sidesGroup =
new quickfix.fix44.TradeCaptureReport.NoSides();
// subgroup
quickfix.fix44.TradeCaptureReport.NoSides.NoPartyIDs partyIdsGroup =
new quickfix.fix44.TradeCaptureReport.NoSides.NoPartyIDs();
// get first sidesGroup
message.getGroup(1, sidesGroup);
// get first partyIdsGroup out of first sidesGroup
sidesGroup.getGroup(1, partyIdsGroup);
// do something with it...
// get second partyIdsGroup out of first sidesGroup
sidesGroup.getGroup(2, partyIdsGroup);
// do something with it...
// -----
// get second sidesGroup
message.getGroup(2, sidesGroup);
// get first partyIdsGroup out of second sidesGroup
sidesGroup.getGroup(1, partyIdsGroup);
// and so on...