Yes, you are right. The grouping structure is defined by group class and each video item is defined by which ThumbnailItem class group class uses. And another reason to add it is I want to introduce the getGroupID() api as a static function. So, callers can use grouopClass to call its owned getGroupID()