{
// first attempt to add it to the appropriate scene block; this
// will fail if there's already a copy of the same object at this
// coordinate
SceneBlock block = getBlock(oinfo.x, oinfo.y);
if (block== null || !block.isResolved() || block.addObject(oinfo)) {
// create an object info and add it to the scene model
if (_model.addObject(oinfo)) {
// recompute our visible object set
recomputeVisible();
return oinfo;