public static MemoryBlock createUninitializedBlock(Program program, boolean isOverlay,
			String name, Address start, long length, String comment, String source, boolean r,
			boolean w, boolean x, MessageLog log) {

		Memory memory = program.getMemory();
		try {
			MemoryBlock block = memory.createUninitializedBlock(name, start, length, isOverlay);
			setBlockAttributes(block, comment, source, r, w, x);
			adjustFragment(program, block.getStart(), name);
			return block;
		}
		catch (LockException e) {
			log.appendMsg("Failed to create memory block: exclusive lock/checkout required");
		}
		catch (Exception e) {
			log.appendMsg("Failed to create '" + name + "' memory block: " + e.getMessage());
		}
		return null;
	}
Creates a new uninitialized memory block.
@param program the program in which to create the block.
@param isOverlay if true, the block will be created in a new overlay space for that block
@param name the name of the new block.
@param start the starting address of the new block.
@param length the length of the new block
@param comment the comment text to associate with the new block.
@param source the source of the block (This field is not well defined - currently another comment)
@param r the read permission for the new block.
@param w the write permission for the new block.
@param x the execute permission for the new block.
@param log a {@link MessageLog} for appending error messages
@return the newly created block or null if the operation failed.
Ghidra/Features/Base/src/main/java/ghidra/app/util/MemoryBlockUtils.java