private static JToken ExpandArray(ITemplateContext context, JArray array) { var result = new JArray(); result.CopyTemplateAnnotationFrom(array); for (var i = 0; i < array.Count; i++) { if (array[i] is JObject jObject) { result.Add(ExpandObject(context, jObject)); } else if (array[i] is JArray jArray) { result.Add(ExpandArray(context, jArray)); } else if (array[i] is JToken jToken && jToken.Type == JTokenType.String) { result.Add(ExpandPropertyToken(context, jToken)); }