resolveChildOptions = (fieldSpec, prop, sourceOptions, opts) => {
	if (!fieldSpec.children)
		throw new EvidenceError('Internal Error', [
			'Attempted to access nested value in field with no children'
		]);
	const valueKey = fieldSpec.nest ? `_${prop}` : prop;
	const currentValue = sourceOptions[valueKey];

	if (currentValue && !(currentValue in fieldSpec.children)) {
		throw new EvidenceError('Internal Error', [
			'Attempted to access value not found in Options specification',
			'Error occured while trying to access a child value',
			JSON.stringify({ currentValue, fieldSpec })
		]);
	}

	if (!sourceOptions[prop]) sourceOptions[prop] = {};

	// Assign the empty object
	return Options(
		fieldSpec.children[currentValue] ?? {},
		fieldSpec.nest ? sourceOptions[prop] : sourceOptions,
		{ ...opts, value: currentValue }
	);
}
@param {import('../../schemas/datasourcePluginOptions.schema.js').IDatasourceOptionSpec} fieldSpec
@param {string} prop
@param {*} sourceOptions
@param {OptionsOpts} [opts]
@returns