src/main/java/wybs/io/SyntacticHeapReader.java
protected Pair<Integer, SyntacticItem[]> readItems() throws IOException {
		// first, write magic number
		checkHeader();
		// second, determine number of items
		int size = in.read_uv();
		// third, determine the root item
		int root = in.read_uv();
		//
		Bytecode[] items = new Bytecode[size];
		// third, read abstract syntactic items
		for (int i = 0; i != items.length; ++i) {
			items[i] = readItem();
		}
		//
		return new Pair<>(root, constructItems(items));
	}
protected Pair<Integer, SyntacticItem[]> readItems() throws IOException {
		// first, write magic number
		checkHeader();
		// second, determine number of items
		int size = in.read_uv();
		// third, determine the root item
		int root = in.read_uv();
		//
		Bytecode[] items = new Bytecode[size];
		// third, read abstract syntactic items
		for (int i = 0; i != items.length; ++i) {
			items[i] = readItem();
		}
		//
		return new Pair<>(root, constructItems(items));
	}
Read all the items in this heap, returning the identified root item and an
array of all items contained therein.

@return
@throws IOException