public string GetSingleMacroValue(string innerMacro, object[] items = null)
{
var v = LookupMacroValue(innerMacro, this);
if ( v != null ) {
var a = v.ToArray();
if (a.Length > 0) {
return ResolveMacrosInContext(a.CollapseToString(), items);
}
}
return null;
}