private void appendRef(Address fromAddr, Address toAddr, int opIndex, RefType refType,
			SourceType source, boolean isPrimary, long symbolID, boolean isOffset,
			boolean isShifted, long offsetOrShift) {

		if (!isFrom) {
			byte level = getRefLevel(refType);
			if (level > refLevel) {
				refLevel = level;
			}
		}

		byte[] bytes =
			encode(fromAddr, toAddr, refType, source, opIndex, symbolID, isPrimary, isOffset,
				isShifted, offsetOrShift);

		byte[] newData = new byte[refData.length + bytes.length];
		System.arraycopy(refData, 0, newData, 0, refData.length);
		System.arraycopy(bytes, 0, newData, refData.length, bytes.length);
		refData = newData;
		numRefs++;
	}
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