private void resolveOverlap(List<ParamEntry> curList) throws XmlParseException {
		if (joinrec != null) {
			return;
		}
		ArrayList<Integer> newGroupSet = new ArrayList<>();
		Address addr = spaceid.getAddress(addressbase);
		for (ParamEntry entry : curList) {
			if (entry == this) {
				continue;
			}
			if (!entry.intersects(addr, size)) {
				continue;
			}
			if (contains(entry)) {
				if (entry.isOverlap()) {
					continue;		// Don't count resources (already counted overlapped pentry)
				}
				for (int group : entry.groupSet) {
					newGroupSet.add(group);
				}
			}
			else {
				throw new XmlParseException("Illegal overlap of <pentry> in compiler spec");
			}
		}
		if (newGroupSet.isEmpty()) {
			return;				// No overlaps
		}
		newGroupSet.sort(null);
		groupSet = new int[newGroupSet.size()];
		for (int i = 0; i < groupSet.length; ++i) {
			groupSet[i] = newGroupSet.get(i);
		}
		flags |= OVERLAPPING;
	}
Search for overlap with any previous ParamEntry.  Reassign group and groupsize to
reflect this overlap.
@param curList is the list of previous ParamEntry
@throws XmlParseException if overlaps do not take the correct form
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/lang/ParamEntry.java