private void createTerrainWater(Vector2Int position)
    {
        TerrainType terrainType = island.TerrainTypeOfCell(position);

        if (terrainType == TerrainType.Water)
        {
            terrainType = TerrainType.Earth;
        }
        else if (terrainType == TerrainType.Earth)
        {
            terrainType = TerrainType.Water;
        }

        bool result = island.ChangeTerrainType(position, terrainType);

        if (result)
        {
            for (int x = position.x - 1; x <= position.x + 1; x++)
            {
                for (int y = position.y - 1; y <= position.y + 1; y++)
                {
                    Vector2Int newPosition = new Vector2Int(x, y);
                    if (island.ValidPosition(newPosition))
                    {
                        TerrainViewFeature terrainViewFeature;
                        TerrainTallFeature terrainTallFeature;

                        terrainViewFeatureOfPosition(newPosition, out terrainViewFeature, out terrainTallFeature);
                        islandView.SetTerrainFeature(newPosition, terrainViewFeature, terrainTallFeature);
                    }
                }
            }
        }
    }