code: public BankCard toBankCard()
    {
      final AccountNumber pan;
      if (track1.hasAccountNumber())
      {
        pan = track1.getAccountNumber();
      }
      else
      {
        pan = track2.getAccountNumber();
      }
  
      final Name name;
      if (track1.hasName())
      {
        name = track1.getName();
      }
      else
      {
        name = new Name();
      }
  
      final ExpirationDate expirationDate;
      if (track1.hasExpirationDate())
      {
        expirationDate = track1.getExpirationDate();
      }
      else
      {
        expirationDate = track2.getExpirationDate();
      }
  
      final ServiceCode serviceCode;
      if (track1.hasServiceCode())
      {
        serviceCode = track1.getServiceCode();
      }
      else
      {
        serviceCode = track2.getServiceCode();
      }
  
      final BankCard cardInfo = new BankCard(pan,
                                             expirationDate,
                                             name,
                                             serviceCode);
      return cardInfo;
    }
docs: Constructs and returns bank card information, if all the track data
  is consistent. That is, if any bank card information is repeated in
  track 1 and track 2, it should be the same data.
  
  @return Bank card information.