synchronized void addRefs(Reference[] refs) throws IOException {
		for (int i = 0; i < refs.length; i++) {

			boolean isPrimary = refs[i].isPrimary();
			long symbolID = refs[i].getSymbolID();
			boolean isOffset = false;
			boolean isShifted = false;
			long offsetOrShift = 0;
			if (refs[i].isMemoryReference()) {
				MemReferenceDB memRef = (MemReferenceDB) refs[i];
				isOffset = memRef.isOffset();
				isShifted = memRef.isShifted();
				offsetOrShift = memRef.getOffsetOrShift();
			}

			appendRef(refs[i].getFromAddress(), refs[i].getToAddress(), refs[i].getOperandIndex(),
				refs[i].getReferenceType(), refs[i].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 may be null for upgrade in which 
		case resulting reference objects are not suitable for general use.
@param cache RefList object cache
@param isFrom true for from-adapter use, false for to-adapter use
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/references/RefListV0.java