code: protected boolean parse(final byte[] pSelectResponse, final Application pApplication) throws CommunicationException {
  		boolean ret = false;
  		// Get TLV log entry
  		byte[] logEntry = getLogEntry(pSelectResponse);
  		// Get PDOL
  		byte[] pdol = TlvUtil.getValue(pSelectResponse, EmvTags.PDOL);
  		// Send GPO Command
  		byte[] gpo = getGetProcessingOptions(pdol);
  		// Extract Bank data
  		extractBankData(pSelectResponse);
  
  		// Check empty PDOL
  		if (!ResponseUtils.isSucceed(gpo)) {
  			if (pdol != null) {
  				gpo = getGetProcessingOptions(null);
  			}
  
  			// Check response
  			if (pdol == null || !ResponseUtils.isSucceed(gpo)) {
  				// Try to read EF 1 and record 1
  				gpo = template.get().getProvider().transceive(new CommandApdu(CommandEnum.READ_RECORD, 1, 0x0C, 0).toBytes());
  				if (!ResponseUtils.isSucceed(gpo)) {
  					return false;
  				}
  			}
  		}
  		// Update Reading state
  		pApplication.setReadingStep(ApplicationStepEnum.READ);
  
  		// Extract commons card data (number, expire date, ...)
  		if (extractCommonsCardData(gpo)) {
  			// Extract log entry
  			pApplication.setListTransactions(extractLogEntry(logEntry));
  			ret = true;
  		}
  
  		return ret;
  	}
docs: Method used to parse EMV card
  
  @param pSelectResponse
  select response data
  @param pApplication
  application selected
  @return true if the parsing succeed false otherwise
  @throws CommunicationException communication error