public function doActions(&$value)
    {
        if (!is_string($value)) {
            return;
        }

        $matches = [];
        if (preg_match(sprintf('/^\s*%1$s(?<action>[\w\-\.]+)\:(?<var>[\w\-\.\,\s]+)%1$s\s*$/i', preg_quote(self::TAG)), $value, $matches) != 1) {
            return;
        }

        try {
            if (!isset(self::$userDefinedActions[$matches['action']])) {
                throw new ConfigException(sprintf('Unknown action "%s" in config file', $matches['action']));
            }

            $value = call_user_func_array(self::$userDefinedActions[$matches['action']],
                                          [$matches['var'],
                                           $this]);
        } catch (ConfigException $e) {
            throw $e;
        } catch (\Exception $e) {
            throw new ConfigException(sprintf('Unable to do action of config line "%s"', $value), 0, $e);
        }
    }