protected void decodeInstances(Decoder decoder) throws DecoderException {
		int repref = (int) decoder.readUnsignedInteger(AttributeId.ATTRIB_REPREF);
		Varnode rep = function.getRef(repref);
		if (rep == null) {
			throw new DecoderException("Undefined varnode reference");
		}

		type = null;

		ArrayList<Varnode> vnlist = new ArrayList<>();
		type = function.getDataTypeManager().decodeDataType(decoder);

		for (;;) {
			int subel = decoder.peekElement();
			if (subel == 0) {
				break;
			}
			Varnode vn = Varnode.decode(decoder, function);
			vnlist.add(vn);
		}
		Varnode[] vnarray = new Varnode[vnlist.size()];
		vnlist.toArray(vnarray);
		attachInstances(vnarray, rep);
		setHighOnInstances();
	}
Decode the data-type and the Varnode instances of this HighVariable.
The "representative" Varnode is also populated.
@param decoder is the stream decoder
@throws DecoderException for invalid encodings
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/HighVariable.java