// Path: retired/format/src/main/java/org/javamoney/format/tokens/LiteralTokenStyleableItem.java
// public final class LiteralTokenStyleableItem<R> implements StyleableItemFormatToken<R>, Serializable {
// 
// 	/**
// 	 * The literal part.
// 	 */
// 	private String token;
// 
// 	/**
// 	 * Constructor.
// 	 * 
// 	 * @param token
// 	 *            The literal token part.
// 	 */
// 	public LiteralTokenStyleableItem(String token) {
// 		if (token == null) {
// 			throw new IllegalArgumentException("Token is required.");
// 		}
// 		this.token = token;
// 	}
// 
// 
// 	/*
// 	 * (non-Javadoc)
// 	 * 
// 	 * @see
// 	 * javax.money.format.StyleableItemFormatToken#parse(javax.money.format.ItemParseContext,
// 	 * java.util.Locale, javax.money.format.LocalizationStyle)
// 	 */
// 	@Override
// 	public void parse(ItemParseContext<R> context, Locale locale,
// 			LocalizationContext style)
// 			throws ItemParseException{
// 		if (!context.consume(token)) {
// 			throw new ItemParseException("Expected '" + token + "' in "
// 					+ context.getInput().toString());
// 		}
// 	}
// 
// 	/*
// 	 * (non-Javadoc)
// 	 * 
// 	 * @see javax.money.format.StyleableItemFormatToken#print(java.lang.Appendable,
// 	 * java.lang.Object, java.util.Locale, javax.money.format.LocalizationStyle)
// 	 */
// 	@Override
// 	public void print(Appendable appendable, R item, Locale locale,
// 			LocalizationContext style)
// 			throws IOException {
// 		appendable.append(this.token);
// 	}
// 
// 	/*
// 	 * (non-Javadoc)
// 	 * 
// 	 * @see java.lang.Object#toString()
// 	 */
// 	@Override
// 	public String toString() {
// 		return "LiteralTokenStyleableItem [token=" + token + "]";
// 	}
// 
// }


import org.javamoney.format.tokens.LiteralTokenStyleableItem;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
     *
     * @param targetType the target type to be applied.
     * @return the builder instance, for chaining.
     */
    public ItemFormatBuilder<T> withTargetType(Class<T> targetType){
        if(targetType == null){
            throw new IllegalArgumentException("targetType required.");
        }
        this.targetType = targetType;
        return this;
    }

    /**
     * Add a {@link StyleableItemFormatToken} to the token list.
     *
     * @param token the token to add.
     * @return the builder, for chaining.
     */
    public ItemFormatBuilder<T> append(StyleableItemFormatToken<T> token){
        this.tokens.add(token);
        return this;
    }

    /**
     * Add a {@link StyleableItemFormatToken} to the token list.
     *
     * @param token the token to add.
     * @return the builder, for chaining.
     */
    public ItemFormatBuilder<T> append(String token){
// Path: retired/format/src/main/java/org/javamoney/format/tokens/LiteralTokenStyleableItem.java
// public final class LiteralTokenStyleableItem<R> implements StyleableItemFormatToken<R>, Serializable {
// 
// 	/**
// 	 * The literal part.
// 	 */
// 	private String token;
// 
// 	/**
// 	 * Constructor.
// 	 * 
// 	 * @param token
// 	 *            The literal token part.
// 	 */
// 	public LiteralTokenStyleableItem(String token) {
// 		if (token == null) {
// 			throw new IllegalArgumentException("Token is required.");
// 		}
// 		this.token = token;
// 	}
// 
// 
// 	/*
// 	 * (non-Javadoc)
// 	 * 
// 	 * @see
// 	 * javax.money.format.StyleableItemFormatToken#parse(javax.money.format.ItemParseContext,
// 	 * java.util.Locale, javax.money.format.LocalizationStyle)
// 	 */
// 	@Override
// 	public void parse(ItemParseContext<R> context, Locale locale,
// 			LocalizationContext style)
// 			throws ItemParseException{
// 		if (!context.consume(token)) {
// 			throw new ItemParseException("Expected '" + token + "' in "
// 					+ context.getInput().toString());
// 		}
// 	}
// 
// 	/*
// 	 * (non-Javadoc)
// 	 * 
// 	 * @see javax.money.format.StyleableItemFormatToken#print(java.lang.Appendable,
// 	 * java.lang.Object, java.util.Locale, javax.money.format.LocalizationStyle)
// 	 */
// 	@Override
// 	public void print(Appendable appendable, R item, Locale locale,
// 			LocalizationContext style)
// 			throws IOException {
// 		appendable.append(this.token);
// 	}
// 
// 	/*
// 	 * (non-Javadoc)
// 	 * 
// 	 * @see java.lang.Object#toString()
// 	 */
// 	@Override
// 	public String toString() {
// 		return "LiteralTokenStyleableItem [token=" + token + "]";
// 	}
// 
// }


// Path: retired/format/src/main/java/org/javamoney/format/ItemFormatBuilder.java
import org.javamoney.format.tokens.LiteralTokenStyleableItem;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Locale;

     *
     * @param targetType the target type to be applied.
     * @return the builder instance, for chaining.
     */
    public ItemFormatBuilder<T> withTargetType(Class<T> targetType){
        if(targetType == null){
            throw new IllegalArgumentException("targetType required.");
        }
        this.targetType = targetType;
        return this;
    }

    /**
     * Add a {@link StyleableItemFormatToken} to the token list.
     *
     * @param token the token to add.
     * @return the builder, for chaining.
     */
    public ItemFormatBuilder<T> append(StyleableItemFormatToken<T> token){
        this.tokens.add(token);
        return this;
    }

    /**
     * Add a {@link StyleableItemFormatToken} to the token list.
     *
     * @param token the token to add.
     * @return the builder, for chaining.
     */
    public ItemFormatBuilder<T> append(String token){
        this.tokens.add(new LiteralTokenStyleableItem<T>(token));