public override void AddCellBeforeModification(TerrainCell cellBefore)
    {
        LayerOffsetPair pair;

        if (!_layerOffsetPairs.TryGetValue(cellBefore.Position, out pair))
        {
            CellLayerData data     = null;
            CellLayerData cellData = cellBefore.GetLayerData(LayerId);

            if (cellData != null)
            {
                data = new CellLayerData(cellData);
            }

            pair = new LayerOffsetPair {
                Position = cellBefore.Position,
                Before   = data
            };

            _layerOffsetPairs.Add(cellBefore.Position, pair);
        }
    }