+template <class Container>
+MagickLib::Image* copy_image_list(Container& container)
+{
+ typedef typename Container::iterator Iter;
+ MagickLib::Image* previous = 0;
+ MagickLib::Image* first = NULL;
+ MagickLib::ExceptionInfo exceptionInfo;
+ MagickLib::GetExceptionInfo(&exceptionInfo);
+ for (Iter iter = container.begin(); iter != container.end(); ++iter)
+ {
+ MagickLib::Image* current = CloneImage(iter->image(), 0, 0, Magick::MagickTrue, &exceptionInfo);
+ if (!first) first = current;
+
+ current->previous = previous;
+ current->next = 0;
+
+ if ( previous != 0) previous->next = current;
+ previous = current;
+ }
+
+ return first;
+}
+