public function __construct(FormatterManager $formatterManager, $dataProviderName, $dataSingularName = null, ProxySourceCollection $collection = null, FilterInterface $filter, MapInterface $map, ProxySourceItemFactoryInterface $factory = null)
{
$this->formatterManager = $formatterManager;
$this->dataProviderName = $dataProviderName;
$this->dataSingularName = $dataSingularName ?: Inflector::singularize($dataProviderName);
$this->collection = $collection ?: new ProxySourceCollection();
$this->filter = $filter ?: new NullFilter();
$this->map = $map ?: new NullMap();
$this->factory = $factory ?: new SimpleProxySourceItemFactory();
}