synchronized void addRefs(ReferenceIterator refIter) throws IOException {
		while (refIter.hasNext()) {
			Reference ref = refIter.next();
			boolean isPrimary = ref.isPrimary();
			long symbolID = ref.getSymbolID();
			boolean isOffset = false;
			boolean isShifted = false;
			long offsetOrShift = 0;
			if (ref instanceof MemReferenceDB) {
				MemReferenceDB memRef = (MemReferenceDB) ref;
				isOffset = memRef.isOffset();
				isShifted = memRef.isShifted();
				offsetOrShift = memRef.getOffsetOrShift();
			}
			appendRef(ref.getFromAddress(), ref.getToAddress(), ref.getOperandIndex(),
				ref.getReferenceType(), ref.getSource(), isPrimary, symbolID, isOffset, isShifted,
				offsetOrShift);

		}
		updateRecord();
	}
Construct reference list for existing record
@param rec existing refList record
@param adapter entry record storage adapter
@param addrMap address map for encoding/decoding addresses
@param program associated Program
@param cache RefList object cache
@param isFrom true for from-adapter use, false for to-adapter use
@throws IOException if database IO error occurs
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/references/BigRefListV0.java