public function getFilteredSet(PluginDefinitionFilterInterface ...$filters) : PluginDefinitionSet {
    $set = $this->set;
    foreach ($filters as $filter) {
      $set = array_filter($set, [$filter, 'filter']);
    }
    $new_set = new PluginDefinitionSet(...array_values($set));
    return $new_set;
  }
public function getFilteredSet(PluginDefinitionFilterInterface ...$filters) : PluginDefinitionSet {
    $set = $this->set;
    foreach ($filters as $filter) {
      $set = array_filter($set, [$filter, 'filter']);
    }
    $new_set = new PluginDefinitionSet(...array_values($set));
    return $new_set;
  }
public function getFilteredSet ( PluginDefinitionFilterInterface ... $ filters ) : PluginDefinitionSet { $ set = $ this -> set ; foreach ( $ filters as $ filter ) { $ set = array_filter ( $ set , [ $ filter , 'filter' ] ) ; } $ new_set = new PluginDefinitionSet ( ... array_values ( $ set ) ) ; return $ new_set ; }
Filters the set of definitions and returns a new set.

@param \EclipseGc\Plugin\Filter\PluginDefinitionFilterInterface ...$filters
The list of filter to apply.

@return \EclipseGc\Plugin\Discovery\PluginDefinitionSet
The set of plugin definitions.
Filters the set of definitions and returns a new set .