/**
  * {@inheritDoc}
  */
 public function locateIdentifier(Reflector $reflector, Identifier $identifier)
 {
     try {
         $closureData = $this->closureAnalyzer->analyze($this->closure);
     } catch (ClosureAnalysisException $closureAnalysisException) {
         if (stripos($closureAnalysisException->getMessage(), 'Two closures were declared on the same line') !== false) {
             throw TwoClosuresOneLine::fromClosureAnalysisException($closureAnalysisException);
         }
         throw $closureAnalysisException;
     }
     if (!isset($closureData['ast']) || !$closureData['ast'] instanceof ClosureNode) {
         return null;
     }
     $locatedSource = new LocatedSource('<?php ' . $closureData['code'], $closureData['reflection']->getFileName());
     $namespaceNode = null;
     if (isset($closureData['location']['namespace'])) {
         $namespaceNode = new Namespace_(new Name($closureData['location']['namespace']));
     }
     return $this->conversionStrategy->__invoke($reflector, $closureData['ast'], $locatedSource, $namespaceNode);
 }
 /**
  * @param Reflector $reflector
  * @param Node $node
  * @param LocatedSource $locatedSource
  * @param Node\Stmt\Namespace_|null $namespace
  * @return Reflection|null
  */
 private function reflectNode(Reflector $reflector, Node $node, LocatedSource $locatedSource, Node\Stmt\Namespace_ $namespace = null)
 {
     return $this->astConversionStrategy->__invoke($reflector, $node, $locatedSource, $namespace);
 }