// Only the first message moves the cell; ignore all subsequent
if (isInitialPlacementDone()) return;
// Make sure the cell has a movable component
MovableComponentMO mc = getComponent(MovableComponentMO.class);
if (mc == null) {
mc = new MovableComponentMO(this);
addComponent(mc);
}
// Request the move
logger.info("Perform first move for cell = " + cellID);
logger.info("Perform first move to transform = " + msg.getCellTransform());
mc.moveRequest(null, msg.getCellTransform());
setInitialPlacementDone(true);
}