@SuppressWarnings("unchecked") protected void writeLinkInline( StreamWriter writer, Metadata metadata, Link linkToInline, RESTResource embeddedResource, String href, String baseUri, String absoluteId, String updated) { writer.startElement(new QName(m, "inline", "m")); if (embeddedResource instanceof CollectionResource) { CollectionResource<Entity> collectionResource = (CollectionResource<Entity>) embeddedResource; Collection<EntityResource<Entity>> entities = collectionResource.getEntities(); if (entities != null && !entities.isEmpty()) { writer.startFeed(); writer.writeTitle(Type.TEXT, linkToInline.getTitle()); writer.writeId(baseUri + href); writer.writeUpdated(updated); writer.startLink(href, "self"); writer.writeAttribute("title", linkToInline.getTitle()); writer.endLink(); for (EntityResource<Entity> entityResource : entities) { writeEntityResource(writer, entityResource, baseUri, absoluteId, updated); } writer.endFeed(); } } else if (embeddedResource instanceof EntityResource) { EntityResource<Entity> entityResource = (EntityResource<Entity>) embeddedResource; writeEntityResource(writer, entityResource, baseUri, absoluteId, updated); } else { throw new RuntimeException("Unknown OLink type " + linkToInline.getClass()); } writer.endElement(); // end inline }