code: function(x,y,depth,maxDepth) {
  
              if( depth >= maxDepth ) {
                  console.warn("MAXIMUM DEPTH REACHED: %d", maxDepth);
                  return; 
              }
  
              if(!this.isCell(x,y)) { return; }
              let dirs = this.getShuffledNeighborDirs( x, y );
              for( var key in dirs ) {
                  var sDir = dirs[key];
                  var n = this.getNeighbor(x, y, sDir);
                  if(n===null) {
                      continue;
                  }
  
                  if(this.isMasked(n.x,n.y)) {
                      continue;
                  }
   
                  if(
                      this.isCell(n.x, n.y) && !this.hasConnections(n.x, n.y)
                  ) {
                      // Connect cell to neighbor
                      this.connectUndirected( x, y, sDir);
                      this.carveMaze( n.x, n.y, depth + 1, maxDepth );
                  }
              }
          }
docs: leave undocumented for now