} else if (element instanceof Collection) {
jstream.startObject();
writeLanguageFields(element, jstream);
if (!isSameAsParentBase(element))
jstream.writeField("xml:base", element.getResolvedBaseUri());
Collection collection = (Collection)element;
jstream.writeField("href", collection.getResolvedHref());
writeElement("title", collection.getTitleElement(), jstream);
String[] accepts = collection.getAccept();
if (accepts != null && accepts.length > 0) {
jstream.writeField("accept");
jstream.startArray();
for (int n = 0; n < accepts.length; n++) {
jstream.writeQuoted(accepts[n]);
if (n < accepts.length - 1)
jstream.writeSeparator();
}
jstream.endArray();
}
List<Categories> cats = collection.getCategories();
if (cats.size() > 0)
writeList("categories", collection.getCategories(), jstream);
writeExtensions((ExtensibleElement)element, jstream);
jstream.endObject();
} else if (element instanceof Control) {
jstream.startObject();
writeLanguageFields(element, jstream);