assert parent.hKey().segments() == parentType.hKey().segments().size() :
String.format("%s: parent hkey %s has been shortened by an earlier Flatten, " +
"so this Flatten should specify LEFT_JOIN_SHORTENS_HKEY also",
this, parent.hKey());
// Copy leftJoinHKey to avoid aliasing problems. (leftJoinHKey changes on each parent row.)
HKey hKey = adapter().newHKey(childType.hKey());
leftJoinHKey.copyTo(hKey);
pending.add(new FlattenedRow(flattenType, parent, null, hKey));
// Prevent generation of another left join row for the same parent
childlessParent = false;
}