private void createBlock(CodeBlock codeBlock) {
		Block res = new Block(codeBlock);			// Create hash container for underlying CodeBlock
		ArrayList<InstructHash> instList = new ArrayList<InstructHash>();
		Listing listing = program.getListing();
		Iterator<AddressRange> iter = codeBlock.iterator(true);
		int index = 0;
		while(iter.hasNext()) {						// Iterate over every Instruction in the Block
			AddressRange range = iter.next();
			Address cur = range.getMinAddress();
			Address max = range.getMaxAddress();
			while(cur.compareTo(max) <= 0) {		// Inclusive of final address
				Instruction instruct = listing.getInstructionAt(cur);
				if (instruct != null) {
					InstructHash instHash = new InstructHash(instruct,res,index);		// Build Instruction hash container
					instList.add(instHash);
					index += 1;
					totalInstructions += 1;
					cur = cur.add(instruct.getLength());
				}
				else
					cur = cur.next();
			}
		}
		res.instList = new InstructHash[instList.size()];		// Attach Instruction array to Block
		instList.toArray(res.instList);
		blockList.put(codeBlock.getFirstStartAddress(),res);
	}
Create the basic Block structure, walk the Instructions creating InstructHash structures
@param codeBlock	is the set of instruction addresses corresponding to the basic block
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/correlate/HashStore.java