private void addBlockAddresses(MemoryBlockDB block, MemoryAddressSetViews newAddrSetViews,
			AddressSet newAllAddrs) {
		Address start = block.getStart();
		Address end = block.getEnd();
		if (newAllAddrs != null) {
			newAllAddrs.add(start, end);
		}
		if (block.isExternalBlock()) {
			newAddrSetViews.externalBlock.add(start, end);
		}
		else if (block.isExecute()) {
			newAddrSetViews.execute.add(start, end);
		}
		if (block.isMapped()) {
			// Identify source-blocks which block maps onto and add as a mapped-block to each of these
			AddressRange mappedRange = block.getSourceInfos().get(0).getMappedRange().get();
			for (MemoryBlockDB b : getBlocks(mappedRange.getMinAddress(),
				mappedRange.getMaxAddress())) {
				if (!b.isMapped()) {
					b.addMappedBlock(block);
				}
			}
			AddressSet mappedSet = getMappedIntersection(block, newAddrSetViews.initialized);
			newAddrSetViews.initialized.add(mappedSet);
			newAddrSetViews.initializedAndLoaded
					.add(getMappedIntersection(block, newAddrSetViews.initializedAndLoaded));
		}
		else if (block.isInitialized()) {
			newAddrSetViews.initialized.add(block.getStart(), block.getEnd());
			if (block.isLoaded()) {
				newAddrSetViews.initializedAndLoaded.add(block.getStart(), block.getEnd());
			}
		}
	}
Update address sets with relevant addresses from the specified memory block. 
In addition, allAddrSet will be updated if addToAll parameter is true.

@param block memory block to be added
@param newAddrSetViews address set views which should be built-up
@param newAllAddrs if not null this set will be updated with the specified block's address range,
otherwise only the {@code addrSetView} sets will be updated.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/mem/MemoryMapDB.java