public SoftwareComponent FindSubcomponent(string name)
        {
            SoftwareComponent result = Subcomponents.FirstOrDefault(x => x.Name == name);

            if (result == null)
            {
                foreach (SoftwareComponent subcomponent in Subcomponents)
                {
                    result = subcomponent.FindSubcomponent(name);
                    if (result != null)
                    {
                        return(result);
                    }
                }
                return(null);
            }
            else
            {
                return(result);
            }
        }
        /////////////////////////
        /////////SETTERS/////////
        /////////////////////////

        public void AddSubcomponent(SoftwareComponent subcomponent)
        {
            Subcomponents.Add(subcomponent);
            Pointers.AddRange(subcomponent.Pointers);
        }