\unprotected\def\complexdoitemgroupitem[#1]%
  {\def\currentitemreference{#1}%
   \ifconditional\textlistitem
     % begin of item
   \else
     \par
   \fi
   \ifconditional\concatnextitem % new, concat
     \noitembreak                % new, concat
   \fi                           % new, concat
   \doadvanceitem
   \ifconditional\firstlistitem
     \setfalse\firstlistitem
     \begingroup
     \ifcase\currentitemlevel
     \or % 1
       \ifcase\itemcolumndepth
         \ifconditional\introlistitem\noitembreak\fi
         \itembeforecommand
         \ifconditional\introlistitem\noitembreak\fi
       \fi
     \else % 2 en hoger
       \ifconditional\paragraphlistitem \else
         \edef\previtemlevel{\the\numexpr\currentitemlevel-1}%
         \ifcase\autoitemgroupspacing\relax % nieuw
           \itembeforecommand
         \or
            \doifelsenothing\itembeforecommand\itembeforecommand{\getitemparameter\previtemlevel\c!inbetween}%
         \else
           \getitemparameter\previtemlevel\c!inbetween
         \fi
       \fi
     \fi
   \else
     \ifconditional\textlistitem % was bugged: \inlinelistitem
       \ifhmode
         \removeunwantedspaces\hskip\emwidth\!!plus\interwordstretch\!!minus\interwordshrink\relax
       \fi % new per 2006/10/20
     \else
       \iteminbetweencommand
     \fi
   \fi
   \ifconditional\concatnextitem
     \vskip-\dimexpr\lastskip+\lineheight\relax
     \nobreak
   \fi
   \dolistitem
   \relax
   \ifconditional\packlistitem
     \setupwhitespace[\v!none]%
   \fi
   \getitemparameter\currentitemlevel\c!inner
   \marsymbol
   \let\marsymbol\relax
   \strut % added 11-08-99
   \setfalse\concatnextitem % new, concat
   \nobreak % else problems with intext items
   \hskip\itemsignal        % new, concat
   \getitemparameter\currentitemlevel\c!command} % \defaultitemcommand

\unprotected\def\dolistitem % evt aantal items opslaan per niveau, scheelt zoeken
  {\ifconditional\textlistitem
    % begin of item
   \else
     \par
   \fi
   \advance\noflistelements\plusone
   \optimizelistitemsbreak
   \checkindentation\ifindentation\indent\else\noindent\fi
   %\noindent
   \setbox\itemgroupitembox\hbox
     {\ifconditional\headlistitem
        \ifconditional\symbollistitem
          \dosetitemattributes\currentitemlevel\c!symstyle\c!symcolor{\symsymbol}%
        \else
          \dosetitemattributes\currentitemlevel\c!headstyle\c!headcolor{\listitem}%
        \fi
      \else
        \ifconditional\symbollistitem
          \dosetitemattributes\currentitemlevel\c!symstyle\c!symcolor{\symsymbol}%
        \else
          \dosetitemattributes\currentitemlevel\c!style\c!color{\listitem}%
        \fi
      \fi}%
    \ifconditional\fittinglistitems
      \ifdim\wd\itemgroupitembox>\getitemparameter\currentitemlevel\c!maxwidth sp\relax
        \xsetitemparameter\currentitemlevel\c!maxwidth{\number\wd\itemgroupitembox}%
      \fi
      \ifdim\currentitemmaxwidth>\zeropoint
        \setbox\itemgroupitembox\simplealignedbox{\getitemparameter\currentitemlevel\c!itemalign}{\currentitemmaxwidth}{\box\itemgroupitembox}%
      \fi
   \fi
   \doifsomething\doitemdestination
     {\setbox\itemgroupitembox\hbox{\directgotobox{\box\itemgroupitembox}[\doitemdestination]}}%
   \globallet\doitemdestination\empty
   \itemgroupaskedwidth\getitemparameter\currentitemlevel\c!width\relax
   % new, prevents loops when symbol is (not yet found) graphic
   \ht\itemgroupitembox\strutheight
   \dp\itemgroupitembox\strutdepth
   % so that content differs per run (esp mp graphics afterwards)
   \checkforrepeatedlistitem
   \ifdim\itemgroupaskedwidth<\zeropoint\relax
     \llap{\ifconditional\sublistitem\llap{+\enspace}\fi\box\itemgroupitembox\hskip\leftmargindistance}%
   \else
     \ifdim\itemgroupaskedwidth=\zeropoint\relax
       \calculatelistwidth1%
     \else
       \calculatelistwidth\currentitemlevel
     \fi
     \ifconditional\textlistitem
       \hbox{\ifconditional\sublistitem+\enspace\fi\box\itemgroupitembox\hskip\interwordspace}\nobreak
     \else\ifconditional\inlinelistitem
       \hbox to \itemgrouplistwidth{\ifconditional\sublistitem\llap{+\enspace}\fi\box\itemgroupitembox\hss}% was: \hfill
     \else\ifconditional\txtlistitem
       \dodotxtitem
     \else
       % todo: align+marge binnen de hbox
       \llap{\hbox to \itemgrouplistwidth{\ifconditional\sublistitem\llap{+\enspace}\fi
                              \symalignleft
                              \box\itemgroupitembox\hfil
                              \hskip\getitemparameter\currentitemlevel\c!distance% T h
                              }}%
     \fi\fi\fi
   \fi
   \forceunexpanded % needed for m conversion (\os) / i need to look into this
   \setevalue{\@@currentitemsymbol\currentitemlevel}%
     {\getvalue{\@@localitemsymbol\currentitemlevel}}% still problems with \uchar ?
    %{\noexpand\getvalue{\@@localitemsymbol\currentitemlevel}}% no, spoils subrefs
   \resetunexpanded
   \setfalse\headlistitem
   \setfalse\sublistitem
   \setfalse\symbollistitem
   \EveryPar{\ignorespaces}% needed ?
   \ignorespaces}


