code: public EmvCard readEmvCard() throws CommunicationException {
  		// Read CPLC Infos
  		if (config.readCplc){
  			readCPLCInfos();
  		}
  
  		// Update ATS or ATR
  		if (config.readAt){
  			card.setAt(BytesUtils.bytesToStringNoSpace(provider.getAt()));
  			card.setAtrDescription(config.contactLess ? AtrUtils.getDescriptionFromAts(card.getAt()) : AtrUtils.getDescription(card.getAt()));
  		}
  		// use PSE first
  		if (!readWithPSE()) {
  			// Find with AID
  			readWithAID();
  		}
  
  		return card;
  	}
docs: Method used to read public data from EMV card
  
  @return data read from card or null if any provider match the card type
  @throws CommunicationException communication error