code: public static ClassCache get(Scriptable scope)
      {
          ClassCache cache = (ClassCache)
                  ScriptableObject.getTopScopeValue(scope, AKEY);
          if (cache == null) {
              throw new RuntimeException("Can't find top level scope for " +
                      "ClassCache.get");
          }
          return cache;
      }
docs: Search for ClassCache object in the given scope.
  The method first calls
  {@link ScriptableObject#getTopLevelScope(Scriptable scope)}
  to get the top most scope and then tries to locate associated
  ClassCache object in the prototype chain of the top scope.
  
  @param scope scope to search for ClassCache object.
  @return previously associated ClassCache object or a new instance of
  ClassCache if no ClassCache object was found.
  
  @see #associate(ScriptableObject topScope)