Recursion doesn't look right to me here. This converter says it can convert SimpleObject which is always an instance of Map, but then you make it convert a list, a hyperlink, etc. Is it necessary?