code: public static SMTPDeliveryEnvelope[] create(final String sender, final Collection<String> recipients, final SMTPMessage... messages) {
          if (messages == null || messages.length <1 ){
              throw new IllegalArgumentException("At least one MessageInput must be given");
          }
          
          Collection<String> rcpts = Collections.unmodifiableCollection(recipients);
          SMTPDeliveryEnvelope[] transactions = new SMTPDeliveryEnvelope[messages.length];
          for (int i = 0; i < transactions.length; i++) {
              transactions[i] = new SMTPDeliveryEnvelopeImpl(sender, rcpts , messages[i], false);
          }
          return transactions;
      }
docs: Create an array of {@link SMTPDeliveryEnvelope}'s which use the same sender and recipients but different {@link SMTPMessage}'s
  
  @param sender
  @param recipients
  @param messages
  @return transactions