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;
    }
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 ; }
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