private int fieldSizeOf (Class<?> clazz) {
		if (clazz == int.class || clazz == float.class) return 4;

		if (clazz == long.class || clazz == double.class) return 8;

		if (clazz == byte.class || clazz == boolean.class) return 1;

		if (clazz == short.class || clazz == char.class) return 2;

		// Everything else is a reference to an object, i.e. an address
		return unsafe().addressSize();
	}