class XmpArray extends ArrayList<String> {

    /**
     * An array that is unordered.
     */
    public static final String UNORDERED = "rdf:Bag";
    /**
     * An array that is ordered.
     */
    public static final String ORDERED = "rdf:Seq";
    /**
     * An array with alternatives.
     */
    public static final String ALTERNATIVE = "rdf:Alt";
    private static final long serialVersionUID = 5722854116328732742L;
    /**
     * the type of array.
     */
    protected String type;

    /**
     * Creates an XmpArray.
     *
     * @param type the type of array: UNORDERED, ORDERED or ALTERNATIVE.
     */
    public XmpArray(String type) {
        this.type = type;
    }

    /**
     * Returns the String representation of the XmpArray.
     *
     * @return a String representation
     */
    public String toString() {<FILL_FUNCTION_BODY>}
}

        StringBuilder buf = new StringBuilder("<");
        buf.append(type);
        buf.append('>');
        for (String s : this) {
            buf.append("<rdf:li>");
            buf.append(XmpSchema.escape(s));
            buf.append("</rdf:li>");
        }
        buf.append("</");
        buf.append(type);
        buf.append('>');
        return buf.toString();
    
<methods>public void <init>() ,public void <init>(int) ,public void <init>(Collection<? extends java.lang.String>) ,public boolean add(java.lang.String) ,public void add(int, java.lang.String) ,public boolean addAll(Collection<? extends java.lang.String>) ,public boolean addAll(int, Collection<? extends java.lang.String>) ,public void clear() ,public java.lang.Object clone() ,public boolean contains(java.lang.Object) ,public void ensureCapacity(int) ,public boolean equals(java.lang.Object) ,public void forEach(Consumer<? super java.lang.String>) ,public java.lang.String get(int) ,public int hashCode() ,public int indexOf(java.lang.Object) ,public boolean isEmpty() ,public Iterator<java.lang.String> iterator() ,public int lastIndexOf(java.lang.Object) ,public ListIterator<java.lang.String> listIterator() ,public ListIterator<java.lang.String> listIterator(int) ,public java.lang.String remove(int) ,public boolean remove(java.lang.Object) ,public boolean removeAll(Collection<?>) ,public boolean removeIf(Predicate<? super java.lang.String>) ,public void replaceAll(UnaryOperator<java.lang.String>) ,public boolean retainAll(Collection<?>) ,public java.lang.String set(int, java.lang.String) ,public int size() ,public void sort(Comparator<? super java.lang.String>) ,public Spliterator<java.lang.String> spliterator() ,public List<java.lang.String> subList(int, int) ,public java.lang.Object[] toArray() ,public T[] toArray(T[]) ,public void trimToSize() <variables>private static final java.lang.Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA,private static final int DEFAULT_CAPACITY,private static final java.lang.Object[] EMPTY_ELEMENTDATA,transient java.lang.Object[] elementData,private static final long serialVersionUID,private int size