bool MatchComponent(IComponentIdentifier identifier, Action <IVariableComponent> onComponent, bool stopOnFirst)
        {
            bool anyMatch = false;

            foreach (var element in _components)
            {
                if (identifier.IsMatch(element))
                {
                    onComponent(element);
                    anyMatch = true;
                    if (stopOnFirst)
                    {
                        return(true);
                    }
                }
            }
            return(anyMatch);
        }