code: public function setShareable(/*# string */ $scope = '')
      {
          // this $scope has shareable already or $this is a shareable
          if (static::hasShareable($scope) || $this->isShareable() !== false) {
              throw new RuntimeException(
                  Message::get(Message::MSG_SHAREABLE_FAIL, $scope),
                  Message::MSG_SHAREABLE_FAIL
              );
          }
  
          $this->shared_in = $scope;
          self::$shareables[get_class($this)][$scope] = $this;
  
          return $this;
      }
docs: {@inheritDoc}