if (!Charset.forName(charset.getValue()).canEncode()) {
throw RuntimeExceptionFactory.illegalArgument(charset, null, null);
}
try{
out = new UnicodeOutputStreamWriter(ctx.getResolverRegistry().getOutputStream(sloc.getURI(), append), charset.getValue(), append);
for(IValue elem : V){
if (elem.getType().isString()) {
out.append(((IString) elem).getValue());
}else if (elem.getType().isSubtypeOf(Factory.Tree)) {