docs: public boolean associate(ScriptableObject topScope)
      {
          if (topScope.getParentScope() != null) {
              // Can only associate cache with top level scope
              throw new IllegalArgumentException();
          }
          if (this == topScope.associateValue(AKEY, this)) {
              associatedScope = topScope;
              return true;
          }
          return false;
      }