boon/src/main/java/org/boon/messages/MessageSpecification.java
public String createMessage( String key, List<String> argKeys, Object... args ) {
        /* Look up the message. */
        String message = getMessage( key );

    	/* Holds the actual arguments. */
        Object[] actualArgs;

    	/* If they passed arguments, 
         * then use this as the actual arguments. */
        if ( args.length > 0 ) {
            actualArgs = args;
        /* If they did not pass arguments, use the configured ones. */
        } else if ( argKeys != null ) {
    		/* Convert the keys to values. */
            actualArgs = keysToValues( argKeys );
        } else {
            actualArgs = new Object[]{ };
        }

        return doCreateMessage( message, actualArgs );

    }
public String createMessage( String key, List<String> argKeys, Object... args ) {
        /* Look up the message. */
        String message = getMessage( key );

    	/* Holds the actual arguments. */
        Object[] actualArgs;

    	/* If they passed arguments, 
         * then use this as the actual arguments. */
        if ( args.length > 0 ) {
            actualArgs = args;
        /* If they did not pass arguments, use the configured ones. */
        } else if ( argKeys != null ) {
    		/* Convert the keys to values. */
            actualArgs = keysToValues( argKeys );
        } else {
            actualArgs = new Object[]{ };
        }

        return doCreateMessage( message, actualArgs );

    }
Creates a message.

@param argKeys arguments to lookupWithDefault that were configured.
@param args    Arguments that were passed via the object that wants to
generate the message