protected function _prepareExtraOptions(array &$options, $listExtraOptions = [], $optionPrefix = 'data-') {
		if (empty($options) || empty($listExtraOptions)) {
			return;
		}

		if (!is_array($listExtraOptions)) {
			$listExtraOptions = [$listExtraOptions];
		}
		$extraOptions = array_intersect_key($options, array_flip($listExtraOptions));
		if (empty($extraOptions)) {
			return;
		}

		foreach ($extraOptions as $extraOptionName => $extraOptionValue) {
			if (is_bool($extraOptionValue)) {
				if ($extraOptionValue) {
					$extraOptionValue = 'true';
				} else {
					$extraOptionValue = 'false';
				}
			}
			$options[$optionPrefix . $extraOptionName] = $extraOptionValue;
			unset($options[$extraOptionName]);
		}
	}