__init__(): Don't attach the subparts if its an empty tuple.  If the
boundary was given in the arguments, call set_boundary().
diff --git a/Lib/email/MIMEMultipart.py b/Lib/email/MIMEMultipart.py
index 53b0af9..001c8a8 100644
--- a/Lib/email/MIMEMultipart.py
+++ b/Lib/email/MIMEMultipart.py
@@ -30,5 +30,8 @@
         Additional parameters for the Content-Type: header are taken from the
         keyword arguments (or passed into the _params argument).
         """
-        MIMEBase.MIMEBase.__init__(self, 'multipart', _subtype, **params)
-        self.attach(*list(_subparts))
+        MIMEBase.MIMEBase.__init__(self, 'multipart', _subtype, **_params)
+        if _subparts:
+            self.attach(*list(_subparts))
+        if boundary:
+            self.set_boundary(boundary)