}
@Test
public void shouldNotLoseFields() throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
PojoWithListInnerObject innerObject = PojoBuilder.createMegaZordePojo();
Category inicialCategory = innerObject.getCategories().get(0);
innerObject.getCategories().get(0).setWeight(100l);
Monjo<ObjectId, PojoWithListInnerObject> monjo = new Monjo<ObjectId, PojoWithListInnerObject>(getMongoDB(), PojoWithListInnerObject.class);
monjo.insert(innerObject);
PojoWithListInnerObject anotherObject = new PojoWithListInnerObject();
Category category = new Category();
category.setWeight(200l);
category.setId(inicialCategory.getId());
anotherObject.addCategory(category);
monjo.updateInnerObject(anotherObject, "categories");
PojoWithListInnerObject result = monjo.findOne(innerObject.getId());
Category categoryResult = result.getCategories().get(0);
assertEquals(inicialCategory.getName(), categoryResult.getName());
assertEquals(category.getWeight(), categoryResult.getWeight());
}