constructor(source, conditionNames, fieldNamePath, target) {
		this.source = source;
		this.target = target;
		this.conditionNames = conditionNames;
		this.fieldName = fieldNamePath;
		/** @type {WeakMap<JsonObject, FieldProcessor>} */
		this.fieldProcessorCache = new WeakMap();
	}
@param {string | ResolveStepHook} source source
@param {Set<string>} conditionNames condition names
@param {string | string[]} fieldNamePath name path
@param {string | ResolveStepHook} target target