private static Object wrapSingleton(Object o) {
   JsonNodeFactory jnf = JsonNodeFactory.instance;
   Object r;
   if (o == null || o instanceof Null) {
     r = makeResultObjectNode(jnf, jnf.nullNode());
   } else if (o instanceof Privacy || o instanceof CharSequence || o instanceof Character) {
     r = makeResultObjectNode(jnf, jnf.textNode(o.toString()));
   } else if (o instanceof Boolean) {
     r = makeResultObjectNode(jnf, jnf.booleanNode((Boolean) o));
   } else if (o instanceof Byte
       || o instanceof Short
       || o instanceof Integer
       || o instanceof Long) {
     r = makeResultObjectNode(jnf, jnf.numberNode(((Number) o).longValue()));
   } else if (o instanceof Float || o instanceof Double) {
     r = makeResultObjectNode(jnf, jnf.numberNode(((Number) o).doubleValue()));
   } else {
     r = o;
   }
   return r;
 }