public int compare(ConfigLine a, ConfigLine b) {return compare2(a.section, a.subsection, a.name,b.section, b.subsection, b.name);}
public virtual int Compare(ConfigLine a, ConfigLine b){var value = Compare2(a.section, a.subsection, a.name, b.section, b.subsection, b.name);return value != 0 ? value : string.CompareOrdinal (a.value, b.value);}