private void applyZeroDtcStack(Structure viewStruct, int unpackOffset, int unpackOrdinal,
			Stack<DataTypeComponent> zeroDtcStack, int zeroStackOffset, int zeroStackOrdinal) {

		while (!zeroDtcStack.isEmpty()) {
			DataTypeComponent zeroDtc = zeroDtcStack.pop();
			if (!isPackingEnabled()) {
				viewStruct.insertAtOffset(unpackOffset + zeroStackOffset, zeroDtc.getDataType(), 0,
					zeroDtc.getFieldName(), zeroDtc.getComment());
			}
			else {
				viewStruct.insert(unpackOrdinal + zeroStackOrdinal, zeroDtc.getDataType(), 0,
					zeroDtc.getFieldName(), zeroDtc.getComment());
			}
		}
	}
Unpackage the selected component in the structure or array. This means replace the structure
with the data types for its component parts. For an array replace the array with the data type
for each array element.
If the component isn't a structure or union then returns false.
@param rowIndex the row
@param monitor the task monitor
@throws UsrException if the component can't be unpackaged.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/compositeeditor/StructureEditorModel.java