final ExampleDomainObjectWithRandomFields obj = new ExampleDomainObjectWithRandomFields();
obj.setX("X");
obj.setY("Y");
obj.setZ(3);
obj.setInnerObject(new ExampleDomainObjectWithRandomFieldsInner("x", "y", "z"));
obj.setList(Lists.newArrayList(new ExampleDomainObjectWithRandomFieldsInner("a", "b", "c")));
result = exampleSProcService.createOrUpdateObjectWithRandomFields(obj);
// check that field ordering is correct
assertEquals("XY3xyz(<abc>)", result);