protected ClVariable GetVariableFromViewAndAttribute(T view, LayoutAttribute attribute)
        {
            ClVariable variable         = null;
            var        viewAndAttribute = new ViewAndLayoutAttribute <T> (view, attribute);

            if (!variables.TryGetValue(viewAndAttribute, out variable))
            {
                var value = viewEngine.GetAttribute(view, attribute);
                var name  = string.Format("{0}.{1}", viewEngine.GetViewName(view), attribute.ToString());

                variable = new ClVariable(name, value);
                variables.Add(viewAndAttribute, variable);
            }

            return(variable);
        }