public (bool isValid, List <string> invalidPlaceholders) ContainsUnknownPlaceholders(string source)
        {
            var usedPlaceholders  = source.GetPlaceholders();
            var validPlaceholders = Placeholder.All();

            var unknownPlaceholders = new List <string>();

            foreach (var placeholder in usedPlaceholders)
            {
                if (!validPlaceholders.Contains(placeholder))
                {
                    unknownPlaceholders.Add(placeholder);
                }
            }

            return(!unknownPlaceholders.Any(), unknownPlaceholders);
        }