function findAndDrawOtherLayer(smaller, larger) {
	                var zlevelList = self._zlevelList;
	                if (smaller == null) {
	                    smaller = -Infinity;
	                }
	                var intermediateLayer;
	                for (var i = 0; i < zlevelList.length; i++) {
	                    var z = zlevelList[i];
	                    var layer = self._layers[z];
	                    if (!layer.__builtin__ && z > smaller && z < larger) {
	                        intermediateLayer = layer;
	                        break;
	                    }
	                }
	                if (intermediateLayer && intermediateLayer.renderToCanvas) {
	                    imageLayer.ctx.save();
	                    intermediateLayer.renderToCanvas(imageLayer.ctx);
	                    imageLayer.ctx.restore();
	                }
	            }
@alias module:zrender/Layer
@constructor
@extends module:zrender/mixin/Transformable
@param {string} id
@param {module:zrender/Painter} painter
@param {number} [dpr]