@Override
    public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      CacheKey key = (CacheKey)o;
      return selector.equals(key.selector) &&
             scope.equals(key.scope);
    }
@Override
    public boolean equals(Object o)