I use the enumitem package to define a new enumerate environment. I want an environment with a counter that resumes. This doesn't seem to work properly if the environment is itself within an itemize environment. The following example gives 1, 2, 2, when what I want to see is 1, 2, 3. I have experimented with the use of [resume*], which can locally generate the result that I want, but I can't see any logic in how to use it. Am I doing something wrong or is this a bug?
\documentclass[12pt]{article}
\usepackage{enumitem}
\newlist{enumerateSpecial}{enumerate}{1}
\setlist[enumerateSpecial]{resume,label=\arabic*}
% ================= %
\begin{document}
\begin{enumerateSpecial}
\item xxx
\end{enumerateSpecial}
\begin{itemize}
\item aaa
\begin{enumerateSpecial}
\item xxx
\end{enumerateSpecial}
\end{itemize}
\begin{enumerateSpecial}
\item xxx
\end{enumerateSpecial}
\end{document}