/** * @param string $name name of the resource set * @param ResourceType $resourceType resource type * * @throws InvalidOperationException * * @return ResourceSet */ public function addResourceSet($name, ResourceType $resourceType) { if (array_key_exists($name, $this->resourceSets)) { throw new InvalidOperationException('Resource Set already added'); } $this->resourceSets[$name] = new ResourceSet($name, $resourceType); //No support for multiple ResourceSet with same EntityType //So keeping reference to the 'ResourceSet' with the entity type $resourceType->setCustomState($this->resourceSets[$name]); return $this->resourceSets[$name]; }