protected function _getClassForElement($elementClass = null) {
		$elementClass = mb_strtolower((string)$elementClass);
		$cachePath = 'ClassForElem.' . md5($elementClass);
		$cached = Cache::read($cachePath, CAKE_THEME_CACHE_KEY_HELPERS);
		if (!empty($cached)) {
			return $cached;
		}

		$result = '';
		if (empty($elementClass)) {
			return $result;
		}

		if (mb_strpos($elementClass, 'fa-') !== false) {
			$elemList = [];
			$elemPrefixes = $this->_getListIconPrefixes();
			$elemPrefix = (string)$this->_config['defaultIconPrefix'];
			$elemSizes = $this->_getListIconSizes();
			$elemSize = (string)$this->_config['defaultIconSize'];
		} elseif (mb_strpos($elementClass, 'btn-') !== false) {
			$elemList = $this->_getListButtons();
			$elemPrefixes = $this->_getListButtonPrefixes();
			$elemPrefix = (string)$this->_config['defaultBtnPrefix'];
			$elemSizes = $this->_getListButtonSizes();
			$elemSize = (string)$this->_config['defaultBtnSize'];
		} else {
			return $result;
		}
		$aElem = explode(' ', $elementClass, 5);
		$aClass = [];
		foreach ($aElem as $elemItem) {
			if (empty($elemItem)) {
				continue;
			}

			if (in_array($elemItem, $elemSizes)) {
				$elemSize = $elemItem;
			} elseif (in_array($elemItem, $elemPrefixes)) {
				$elemPrefix = $elemItem;
			} elseif (empty($elemList) || (!empty($elemList) && in_array($elemItem, $elemList))) {
				$aClass[] = $elemItem;
			}
		}
		if (!empty($elemList) && empty($aClass)) {
			return $result;
		}

		if (!empty($elemPrefix)) {
			array_unshift($aClass, $elemPrefix);
		}
		if (!empty($elemSize)) {
			array_push($aClass, $elemSize);
		}
		$aClass = array_unique($aClass);
		$result = implode(' ', $aClass);
		Cache::write($cachePath, $result, CAKE_THEME_CACHE_KEY_HELPERS);

		return $result;
	}