public uint AddressToOffset(uint currentOffset, uint address)
{
var resourceAddress = new ResourceAddress(address);
if (resourceAddress.Type != ResourceAddressType.Definition)
throw new InvalidOperationException("Cannot dereference a resource address of type " + resourceAddress.Type);
return (uint)resourceAddress.Offset;
}