Cleaner implementation of subElements()

It should return the list of subelements.  Whether these subelements are
populated should be determined by calling code.