public override void GetExplain(TextualExplanation explanation, bool explainSubElements = true)
{
explanation.Write(Called);
explanation.Write("(");
explanation.ExplainList(ActualParameters, explainSubElements, ", ",
element => element.GetExplain(explanation));
if (NamedActualParameters.Count > 0)
{
explanation.Indent(2, () =>
{
if (ActualParameters.Count > 0)
{
explanation.Write(", ");
}
explanation.ExplainList(NamedActualParameters, explainSubElements, ", ", pair =>
{
if (AllParameters.Count > 1)
{
explanation.WriteLine();
}
explanation.Write(pair.Key);
explanation.Write(" => ");
explanation.Write(pair.Value);
});
});
}
explanation.Write(")");
}