void ReferencesChanged (object o, EventArgs e)
{
if (references.Count > 0) {
int lineLength = "References".Length + 1;
var options = FormatOptions.Default;
var builder = new StringBuilder ();
for (int i = 0; i < references.Count; i++) {
if (i > 0 && lineLength + references[i].Length + 2 >= options.MaxLineLength) {
builder.Append (options.NewLine);
builder.Append ('\t');
lineLength = 1;
} else {
builder.Append (' ');
lineLength++;
}
lineLength += references[i].Length;
builder.Append ("<" + references[i] + ">");
}
builder.Append (options.NewLine);
var raw = Encoding.UTF8.GetBytes (builder.ToString ());
ReplaceHeader (HeaderId.References, "References", raw);
} else {
RemoveHeader (HeaderId.References);
}
}