public synchronized void putAll(SemisparseByteArray from) {
		byte[] temp = new byte[4096];
		for (ULongSpan span : from.defined.spans()) {
			long lower = span.min();
			long length = span.length();
			for (long i = 0; Long.compareUnsigned(i, length) < 0;) {
				int l = MathUtilities.unsignedMin(temp.length, length - i);
				from.getData(lower + i, temp, 0, l);
				this.putData(lower + i, temp, 0, l);
				i += l;
			}
		}
	}
Copy the contents on another semisparse array into this one

@param from the source array
Ghidra/Framework/Emulation/src/main/java/ghidra/generic/util/datastruct/SemisparseByteArray.java