code: private function mergeScope(array $scope) {
          if (empty($scope)) return $this->_scope;
          $scope = array_merge($scope, $this->_defaulScope);
          $scope = array_unique($scope);
  
          $intersectingScope = array_intersect($scope, $this->_availableScope);
  
          if (count($intersectingScope) !== count($scope)) {
              throw new InvalidParameterException('Error: mergeScope() - Invalid permission scope parameter used.');
          }
  
          return $intersectingScope;
      }
docs: Merge permission scope with default
  scope. Allow only valid values.
  
  @param array @scope