@Override public LayerCell getCellByPosition(int columnPosition, int rowPosition) { int underlyingColumnPosition = localToUnderlyingColumnPosition(columnPosition); int underlyingRowPosition = localToUnderlyingRowPosition(rowPosition); LayerCell cell = underlyingLayer.getCellByPosition(underlyingColumnPosition, underlyingRowPosition); if (cell != null) { cell.updatePosition( this, underlyingToLocalColumnPosition(underlyingLayer, cell.getOriginColumnPosition()), underlyingToLocalRowPosition(underlyingLayer, cell.getOriginRowPosition()), underlyingToLocalColumnPosition(underlyingLayer, cell.getColumnPosition()), underlyingToLocalRowPosition(underlyingLayer, cell.getRowPosition())); } return cell; }