/**
  * Gera a linha digitável baseado em um código de barras.
  * 
  * @param  string $codigoBarras
  * @return string
  */
 protected function gerarLinhaDigitavel($codigoBarras)
 {
     // Campo1 - Posições de 1-4 e 20-24
     $linhaDigitavel = substr($codigoBarras, 0, 4) . substr($codigoBarras, 19, 5) . substr($codigoBarras, 24, 10) . substr($codigoBarras, 34, 10) . substr($codigoBarras, 4, 1) . substr($codigoBarras, 5, 14);
     $dv1 = Number::modulo10(substr($linhaDigitavel, 0, 9));
     $dv2 = Number::modulo10(substr($linhaDigitavel, 9, 10));
     $dv3 = Number::modulo10(substr($linhaDigitavel, 19, 10));
     $linhaDigitavel = String::putAt($linhaDigitavel, $dv3, 29);
     $linhaDigitavel = String::putAt($linhaDigitavel, $dv2, 19);
     $linhaDigitavel = String::putAt($linhaDigitavel, $dv1, 9);
     return String::applyMask($linhaDigitavel, $this->mascara);
 }