@Override
    public void add(final int index, final T element) {
        int group = groupForInternal(index);
        if (group < 0) {
            group = defaultGroup;
        }
        addInternal(element, group, index);
    }
Creates new grouped list
@param list container to be used by this group list.
            WARNING: GroupList assumes to be the sole manipulator of this list. Parallel editing in other places leads to undefined behaviour
@param defaultGroup default group to assign to new/first element when list is empty
main/src/main/java/cgeo/geocaching/utils/GroupedList.java