public function resolve(IResolvedQuery $resolvedQuery) { $resolvedParameters = $resolvedQuery->getResolvedParameters(); $resolvedParameterNames = array_keys($resolvedParameters); sort($resolvedParameterNames); if ($resolvedParameterNames !== $this->parameters) { throw new PinqException('Cannot resolve query parameters: resolved parameter mismatch, [%s] != [%s]', implode(', ', $this->parameters), implode(', ', $resolvedParameterNames)); } return new ResolvedParameterRegistry($resolvedParameters); }