}
//(1) setting the correct header
String contentType = String.format("%s/%s; charset=%s; boundary=%s",
mediaType.getType(),mediaType.getSubtype(),charset.toString(),CONTENT_ITEM_BOUNDARY);
httpHeaders.putSingle(HttpHeaders.CONTENT_TYPE,contentType);
HttpMultipart entity = new HttpMultipart("from-data", charset ,CONTENT_ITEM_BOUNDARY);
//(2) serialising the metadata
if(!isOmitMetadata(properties)){
entity.addBodyPart(new FormBodyPart("metadata", new ClerezzaContentBody(
ci.getUri().getUnicodeString(), ci.getMetadata(),
rdfFormat)));
}
//(3) serialising the Content (Bloby)
//(3.a) Filter based on parameter
List<Entry<UriRef,Blob>> includedBlobs = filterBlobs(ci, properties);
//(3.b) Serialise the filtered
if(!includedBlobs.isEmpty()) {
HttpMultipart content = new HttpMultipart("alternate", UTF8 ,"contentParts");
for(Entry<UriRef,Blob> entry : includedBlobs){
content.addBodyPart(new FormBodyPart(entry.getKey().getUnicodeString(),
new BlobContentBody(entry.getValue()))); //no file name
}
//add all the blobs
entity.addBodyPart(new FormBodyPart("content",new MultipartContentBody(content, null)));
} //else no content to include