public function create(array $contextProperties = [])
    {
        $contextProperties = $this->mergeContextPropertiesWithDefaults($contextProperties);
        $contextIdentifier = $this->getIdentifier($contextProperties);
        if (!isset($this->contextInstances[$contextIdentifier])) {
            $this->validateContextProperties($contextProperties);
            $context = $this->buildContextInstance($contextProperties);
            $this->contextInstances[$contextIdentifier] = $context;
        }

        return $this->contextInstances[$contextIdentifier];
    }