We should export lower case section names, so the caller has a consistent case to examine against in the returned set.

IIRC, e.section is null on a blank line or a comment line.  These shouldn't appear in the returned set.  So please add a if (e.section != null) guard around this addition.