/// <summary>Adds a component to the list of variable components.</summary>
 public void AddComponent(IVariableComponent component)
 {
     ThrowIfComponentsAlreadyObtained();
     if (component.CheckConflicts(this))
     {
         _components.Add(component);
     }
 }
 public bool IsMatch(IVariableComponent component) => component is T;
 public bool IsMatch(IVariableComponent component) => component is AttributeComponent attributeComponent && _identifying.Contains(attributeComponent.Attribute);