class DefaultPropertyEditorRegistrar implements PropertyEditorRegistrar {

	private Map<Class<?>, PropertyEditor> customEditors;

	/**
	 * Register the custom editors with the given registry.
	 *
	 * @see org.springframework.beans.PropertyEditorRegistrar#registerCustomEditors(org.springframework.beans.PropertyEditorRegistry)
	 */
	@Override
	public void registerCustomEditors(PropertyEditorRegistry registry) {
		if (this.customEditors != null) {
			for (Entry<Class<?>, PropertyEditor> entry : customEditors.entrySet()) {
				registry.registerCustomEditor(entry.getKey(), entry.getValue());
			}
		}
	}

	/**
	 * Specify the {@link PropertyEditor custom editors} to register.
	 * @param customEditors a map of Class to PropertyEditor (or class name to
	 * PropertyEditor).
	 * @see CustomEditorConfigurer#setCustomEditors(Map)
	 */
	public void setCustomEditors(Map<?, ? extends PropertyEditor> customEditors) {<FILL_FUNCTION_BODY>}

}

		this.customEditors = new HashMap<>();
		for (Entry<?, ? extends PropertyEditor> entry : customEditors.entrySet()) {
			Object key = entry.getKey();
			Class<?> requiredType;
			if (key instanceof Class<?>) {
				requiredType = (Class<?>) key;
			}
			else if (key instanceof String className) {
				requiredType = ClassUtils.resolveClassName(className, getClass().getClassLoader());
			}
			else {
				throw new IllegalArgumentException(
						"Invalid key [" + key + "] for custom editor: needs to be Class or String.");
			}
			PropertyEditor value = entry.getValue();
			this.customEditors.put(requiredType, value);
		}
	
<no_super_class>