Form a primitive list for each field of the union. Then, if possible, form a common refinement of all the primitive lists and add to the end of \b this extractor's list. \param dt is the union data-type \param max is the maximum number primitives allowed for \b this extraction \param offset is the starting offset of the union within the parent \return \b true if a common refinement was found and