original_string: public function addSigner($email_or_signer, $name = null, $index = null)
      {
          $signer = ($email_or_signer instanceof Signer)
              ? $email_or_signer
              : new Signer(array(
                  'name' => $name,
                  'email_address' => $email_or_signer
              ));
  
          if (isset($index)) {
              $this->signers[$index] = $signer;
          } else {
              $this->signers[] = $signer;
          }
  
          return $this;
      }
code: public function addSigner($email_or_signer, $name = null, $index = null)
      {
          $signer = ($email_or_signer instanceof Signer)
              ? $email_or_signer
              : new Signer(array(
                  'name' => $name,
                  'email_address' => $email_or_signer
              ));
  
          if (isset($index)) {
              $this->signers[$index] = $signer;
          } else {
              $this->signers[] = $signer;
          }
  
          return $this;
      }
code_tokens: public function addSigner ( $ email_or_signer , $ name = null , $ index = null ) { $ signer = ( $ email_or_signer instanceof Signer ) ? $ email_or_signer : new Signer ( array ( 'name' => $ name , 'email_address' => $ email_or_signer ) ) ; if ( isset ( $ index ) ) { $ this -> signers [ $ index ] = $ signer ; } else { $ this -> signers [ ] = $ signer ; } return $ this ; }
docstring: Adds a signer to the signature request
  
  @param  mixed $email_or_signer
  @param  string $name
  @param  string $index
  @return AbstractSignatureRequest
docstring_tokens: Adds a signer to the signature request