/**
  * Retorna a instancia do contribuinte atraves do Cnpj/cpf
  *
  * @param string $sCpfCnpj
  * @return bool|Contribuinte_Model_ContribuinteEventual|object
  * @throws Exception
  */
 public static function getByCpfCnpj($sCpfCnpj)
 {
     $oContribuinte = Administrativo_Model_UsuarioContribuinte::getByAttribute('cnpj_cpf', $sCpfCnpj);
     // Se retornar mais de um contribuinte pega o primeiro da lista
     if (is_array($oContribuinte)) {
         $oContribuinte = reset($oContribuinte);
     }
     if ($oContribuinte->getUsuario()->getCnpj() == '') {
         throw new Exception('Contribuinte eventual não possui CPF / CNPJ.');
     }
     $oCgm = self::getByCpfCnpjWebService($sCpfCnpj);
     if (!empty($oCgm)) {
         $oContribuinteEventual = Contribuinte_Model_ContribuinteEventual::preencherInstanciaContribuinte($oCgm);
         $oContribuinteEventual->setIdUsuarioContribuinte($oContribuinte->getId());
         return $oContribuinteEventual;
     }
     return FALSE;
 }