+ dst_account = modest_tny_folder_get_account (folder);
+
+ if (priv->account == dst_account) {
+ /* Transfer all messages at once using the fast
+ * method. Note that depending on the server this
+ * might not be that fast, and might not be
+ * user-cancellable either */
+ helper->headers = g_object_ref (headers);
+ helper->more_msgs = NULL;
+ } else {
+ /* Transfer messages one by one so the user can cancel
+ * the operation */
+ GObject *hdr;
+ helper->headers = tny_simple_list_new ();
+ helper->more_msgs = tny_list_create_iterator (headers);
+ hdr = tny_iterator_get_current (helper->more_msgs);
+ tny_list_append (helper->headers, hdr);
+ g_object_unref (hdr);
+ }