code: function selectInside(edits, innerId){
  	var inside = false
  	//var depth = 0
  	//var depthAtInside
  	var insideNested = false
  	var result = []
  	//console.log('selectInside(' + JSON.stringify(innerId) + '): ' + JSON.stringify(edits))
  	//_.errout('TODO upgrade to modern state-based paths')
  	for(var i=0;i<edits.length;++i){
  		var e = edits[i]
  		var op = e.op
  		if(op === editCodes.selectObject){
  			var objId = e.edit.id
  			if(objId === innerId){
  				inside = true
  			}
  		}else if(op === editCodes.selectProperty){
  		}else if(fp.isKeySelectCode[op]){
  		}
  		
  		if(inside){
  			//console.log('*'+inside + ' ' + JSON.stringify(e))
  			result.push(e)
  		}else{
  			//console.log('@'+inside + ' ' + JSON.stringify(e))
  		}
  	}
  	//console.log(JSON.stringify(result))
  	return result
  }
docs: /*
  Ol.prototype.getAllIncludingForked = function(id, cb){//TODO optimize away
  _.assertLength(arguments, 2)
  _.assertInt(id)
  
  ++this.stats.allRequested
  
  var edits = this.olc.get(id)
  
  
  cb(edits)
  
  }
  
  Ol.prototype.getPartiallyIncludingForked = function(id, filter, eachCb, doneCb){
  var local = this
  
  local.getPartially(id, filter, eachCb, doneCb)
  }
  }
  Ol.prototype.getIncludingForked = function(id, startEditId, endEditId, cb){//TODO optimize away
  var local = this
  this.get(id, startEditId, endEditId, function(edits){
  
  cb(edits)
  }
  })
  }