This is a variation of the question posted here:
Now I want to highlight multiple names in a bibliography. Here is the erroneous solution that I tried.
\documentclass[11pt,letter]{article}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{xstring}
\let\originalbibitem\bibitem
\def\bibitem#1#2\par{
\noexpandarg
\originalbibitem{#1}
\StrSubstitute{#2}{Author1}{{\color{blue}\textbf{Author1}}}[\x]
\expandafter\StrSubstitute\expandafter{\x}{Author2}{{\color{blue}\textbf{Author2}}}{\x}
\par}
\begin{document}
\cite{CiteKey1,CiteKey2,CiteKey3,CiteKey4}
\bibliographystyle{IEEEtran}
\bibliography{library}
\end{document}
The problem is that for each reference it makes two copies. In the first copy, it makes blue and bold Author1 and Author2, and in the second copy, it makes blue and bold Author1 only.
Any ideas on how to fix this so that the reference only has a single name being made blue and bold? Also whatever solution you propose should be made extensible to up to N authors.
Thanks!

\documentclass{...}and ending with\end{document}. Cutting and pasting your code in to a standard document gives me the expected behaviour, not that you report. – Andrew Swann Apr 19 '14 at 14:48