public function getSharedInstanceWithParameters($classOrAlias, array $params, $fastHashFromHasLookup = null)
        {
            if ($fastHashFromHasLookup) {
                return $this->sharedInstancesWithParams['hashLong'][$fastHashFromHasLookup];
            }

            ksort($params);
            $hashKey = $this->createHashForKeys($classOrAlias, array_keys($params));

            if (isset($this->sharedInstancesWithParams['hashShort'][$hashKey])) {
                $hashValue = $this->createHashForValues($classOrAlias, $params);

                if (isset($this->sharedInstancesWithParams['hashLong'][$hashKey . '/' . $hashValue])) {
                    return $this->sharedInstancesWithParams['hashLong'][$hashKey . '/' . $hashValue];
                }
            }

            return false;
        }