var BasePredictionContextEMPTY … type PredictionContextCache … func NewPredictionContextCache() *PredictionContextCache { … } // Add a context to the cache and return it. If the context already exists, // return that one instead and do not add a new context to the cache. // Protect shared cache from unsafe thread access. func (p *PredictionContextCache) add(ctx *PredictionContext) *PredictionContext { … } func (p *PredictionContextCache) Get(ctx *PredictionContext) (*PredictionContext, bool) { … } func (p *PredictionContextCache) length() int { … }