code: public function load($file, $type = null)
      {
          $path = $this->locator->locate($file);
  
          if (!stream_is_local($path)) {
              throw new \InvalidArgumentException(sprintf('This is not a local file "%s".', $path));
          }
  
          if (!file_exists($path)) {
              throw new \InvalidArgumentException(sprintf('File "%s" not found.', $path));
          }
  
          if (null === $this->yamlParser) {
              $this->yamlParser = new YamlParser();
          }
  
          $config = $this->yamlParser->parse(file_get_contents($path));
  
          $collection = new RuleCollection();
          $collection->addResource(new FileResource($path));
  
          // empty file
          if (null === $config) {
              return $collection;
          }
  
          // not an array
          if (!is_array($config)) {
              throw new \InvalidArgumentException(sprintf('The file "%s" must contain a YAML array.', $path));
          }
  
          foreach ($config as $name => $subConfig) {
              $this->validate($subConfig, $name, $path);
  
              if (isset($subConfig['resource'])) {
                  $this->parseImport($collection, $subConfig, $path, $file);
              } else {
                  $this->parseRule($collection, $name, $subConfig, $path);
              }
          }
  
          return $collection;
      }
docs: Loads a resource.
  
  @param mixed  $file The resource
  @param string $type The resource type
  
  @throws \InvalidArgumentException
  @return \WMS\Library\BusinessRulesEngine\RuleCollection