protected function resolvePseudoCallable($callableOrArray)
    {
        if (is_array($callableOrArray)) {
            $this->dereferenceArray($callableOrArray);
        }

        // normal callable
        if (is_callable($callableOrArray)) {
            return $callableOrArray;
        } else {
            throw new LogicException(
                Message::get(Message::CALLABLE_INVALID, $callableOrArray),
                Message::CALLABLE_INVALID
            );
        }
    }
protected function resolvePseudoCallable($callableOrArray)
    {
        if (is_array($callableOrArray)) {
            $this->dereferenceArray($callableOrArray);
        }

        // normal callable
        if (is_callable($callableOrArray)) {
            return $callableOrArray;
        } else {
            throw new LogicException(
                Message::get(Message::CALLABLE_INVALID, $callableOrArray),
                Message::CALLABLE_INVALID
            );
        }
    }
protected function resolvePseudoCallable ( $ callableOrArray ) { if ( is_array ( $ callableOrArray ) ) { $ this -> dereferenceArray ( $ callableOrArray ) ; } // normal callable if ( is_callable ( $ callableOrArray ) ) { return $ callableOrArray ; } else { throw new LogicException ( Message :: get ( Message :: CALLABLE_INVALID , $ callableOrArray ) , Message :: CALLABLE_INVALID ) ; } }
Resolve a fake callable to a real one

fake callable like `[ '@cache@', 'setLogger' ]` or
`[ new ServiceReference('cache'), 'setLogger' ]`

@param  callable|array $callableOrArray
@return callable
@throws LogicException
@throws NotFoundException
@access protected
Resolve a fake callable to a real one