protected long va(long va, boolean isBinary) {
		if (isBinary) {
			long ptr = ntHeader.rvaToPointer(va);
			if (ptr < 0 && virtualAddress > 0) { //directory does not appear inside a loadable section
				return va;
			}
			return ptr;
		}

		long new_va = va + ntHeader.getOptionalHeader().getImageBase();
		// make sure didn't wrap
		if (ntHeader.getOptionalHeader().is64bit()) {
			return new_va;
		}
		return (new_va & 0xffffffffL);
	}
Parses this data directory.

@return True if parsing completed successfully; otherwise, false.
@throws IOException If there was an IO problem while parsing.
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/pe/DataDirectory.java