public void inject(Inspector inspector, Inserter inserter) {
        if (inspector.valid()) {
            injectValue(inserter, inspector, null);
        }
    }
@Test
    public void recursiveObjectInject() {
        Slime expect = new Slime();
        {
            Cursor obj = expect.setObject();
            obj.setLong("a", 1);
            obj.setLong("b", 2);
            obj.setLong("c", 3);
            {
                Cursor obj_cpy = obj.setObject("d");
                obj_cpy.setLong("a", 1);
                obj_cpy.setLong("b", 2);
                obj_cpy.setLong("c", 3);
            }
        }
        Slime data = new Slime();
        {
            Cursor obj = data.setObject();
            obj.setLong("a", 1);
            obj.setLong("b", 2);
            obj.setLong("c", 3);
        }
        inject(data.get(), new ObjectInserter(data.get(), "d"));
        assertEqualTo(expect, data);
    }