private void build_ghidra(ToyProgramBuilder builder) throws MemoryAccessException {
		/*
		 Originally from notepad 'ghidra'
		
		 	A
		 	|->	B
		 	|-> C
		 	|
		 	D
		 	|
		 	E
		 	|-> F
		 	|->	G
		 	|
		 	H
		
		 */

		// A -
		// 1002cf5
		builder.addBytesNOP("0x01002cf5", 1);
		builder.addBytesNOP("0x01002cf6", 2);
		builder.addBytesNOP("0x01002cf8", 4);
		builder.addBytesNOP("0x01002cfc", 1);
		builder.addBytesNOP("0x01002cfd", 6);
		builder.addBytesNOP("0x01002d03", 1);
		builder.addBytesBranchConditional("0x01002d04", "0x01002d0f");// jump to B

		// C
		// 1002d06
		builder.addBytesNOP("0x01002d06", 3);
		builder.addBytesNOP("0x01002d09", 2);
		builder.addBytesNOP("0x01002d0b", 2);
		builder.addBytesBranch("0x01002d0d", "0x01002d11");// jump to D

		// B
		// 1002d0f
		builder.addBytesNOP("0x01002d0f", 2);// fallthrough to D

		// D
		// 1002d11
		builder.addBytesNOP("0x01002d11", 3);
		builder.addBytesNOP("0x01002d14", 2);
		builder.addBytesNOP("0x01002d16", 2);
		builder.addBytesNOP("0x01002d18", 4);
		builder.addBytesNOP("0x01002d1c", 1);
		builder.addBytesNOP("0x01002d1d", 2);// fallthrough to E

		// E
		// 1002d1f
		builder.addBytesNOP("0x01002d1f", 6);
		builder.addBytesNOP("0x01002d25", 2);
		builder.addBytesNOP("0x01002d27", 2);
		builder.addBytesBranchConditional("0x01002d29", "0x01002d52");// jump to F

		// G
		// 1002d2b
		builder.addBytesNOP("0x01002d2b", 1);
		builder.addBytesNOP("0x01002d2c", 3);
		builder.addBytesNOP("0x01002d2f", 3);
		builder.addBytesNOP("0x01002d32", 5);
		builder.addBytesNOP("0x01002d37", 3);
		builder.addBytesNOP("0x01002d3a", 3);
		builder.addBytesNOP("0x01002d3d", 1);
		builder.addBytesNOP("0x01002d3e", 3);
		builder.addBytesNOP("0x01002d41", 6);
		builder.addBytesNOP("0x01002d47", 1);
		builder.addBytesNOP("0x01002d48", 2);
		builder.addBytesNOP("0x01002d4a", 6);
		builder.addBytesBranch("0x01002d50", "0x01002d66");// jump to H

		// F
		// 1002d52
		builder.addBytesNOP("0x01002d52", 3);
		builder.addBytesNOP("0x01002d55", 3);
		builder.addBytesNOP("0x01002d58", 3);
		builder.addBytesNOP("0x01002d5b", 3);
		builder.addBytesNOP("0x01002d5e", 6);
		builder.addBytesNOP("0x01002d64", 2);// fallthrough to H

		// H
		// 1002d66
		builder.addBytesNOP("0x01002d66", 2);
		builder.addBytesNOP("0x01002d68", 1);
		builder.addBytesNOP("0x01002d69", 1);
		builder.addBytesNOP("0x01002d6a", 1);
		builder.addBytesReturn("0x01002d6b");

		builder.disassemble("0x01002cf5", 121, true);

		//
		//
		//
		builder.createLabel("0x01002cf5", "ghidra");// function label
		builder.createLabel("0x01002d1f", "MyLocal");// user labels (these create code blocks)
		builder.createLabel("0x01002d2b", "AnotherLocal");// user labels (these create code blocks)
		builder.createFunction("0x01002cf5");
	}
Added this method for cache testing.  No blocks were needed, just needed another
function to have enough to test a function being removed from the cache.
Ghidra/Features/FunctionGraph/src/test.slow/java/ghidra/app/plugin/core/functiongraph/AbstractFunctionGraphTest.java