private void setComputedAlignment(Composite composite) {
		// Only need to compute alignment from immediate child components, as those components
		//  would have already seen this method in their calculations.
		// If any component of the composite is not at an offset that is a multiple of that
		//  comonent's alignment, then abort setting the composite alignment
		int compositeAlignment = 1;
		for (DataTypeComponent dtc : composite.getDefinedComponents()) {
			DataType dt = dtc.getDataType();
			int offset = dtc.getOffset();
			int alignment = dt.getAlignment();
			if (offset % alignment != 0) {
				return;
			}
			compositeAlignment = Integer.max(compositeAlignment, alignment);
		}
		if (composite.getLength() % compositeAlignment != 0) {
			return;
		}
		composite.align(compositeAlignment);
	}
Computes and sets the alignment of the composite.  Will not set an alignment if the
calculation does not make sense
@param composite the composite to affect
Ghidra/Features/PDB/src/main/java/ghidra/app/util/bin/format/pdb/DefaultCompositeMember.java