public void remove(final boolean redraw, @Nullable final int ... context) {
        if (context == null || context.length < 2) {
            return;
        }
        layerLock.lock();
        try {
            final int zLevel = context[0];
            final Map<Integer, Layer> zLevelMap = this.layerItemMap.get(zLevel);
            if (zLevelMap == null) {
                return;
            }
            for (int i = 1; i < context.length; i++) {
                if (context[i] == 0) {
                    continue;
                }
                zLevelMap.remove(context[i]);
            }
            if (zLevelMap.isEmpty()) {
                this.layerItemMap.remove(zLevel);
            }
        } finally {
            layerLock.unlock();
        }
        if (redraw) {
            requestRedraw();
        }
    }
adds layers to this group with a given zLevel
main/src/main/java/cgeo/geocaching/unifiedmap/geoitemlayer/MapsforgeV6ZLevelGroupLayer.java