public IWorkshopTree Parse(ActionSet actionSet, IWorkshopTree[] parameters)
        {
            IWorkshopTree[] parsed = new IWorkshopTree[Segments.Length];
            for (int i = 0; i < parsed.Length; i++)
            {
                parsed[i] = Segments[i].Parse(actionSet, parameters);
            }

            return(StringElement.Join(parsed));
        }
        public IWorkshopTree Parse(ActionSet actionSet)
        {
            var values = new IWorkshopTree[1 + _parts.Length * 2];

            values[0] = Element.CustomString(_tail);

            for (int i = 0; i < _parts.Length; i++)
            {
                values[1 + i * 2] = _parts[i].Value.Parse(actionSet);
                values[2 + i * 2] = Element.CustomString(_parts[i].Right);
            }

            return(StringElement.Join(values));
        }