test_class.file: library/src/test/java/com/github/devnied/emvnfccard/utils/CPLCUtilsTest.java
test_class.identifier: CPLCUtilsTest
test_case.body: @Test
  	public void testEmptyCPLC(){
  		CPLC cplc = CPLCUtils.parse(null);		
  		Assertions.assertThat(cplc).isNull();
  	}
test_case.class_method_signature: CPLCUtilsTest.testEmptyCPLC()
test_case.full_signature: @Test public void testEmptyCPLC()
test_case.identifier: testEmptyCPLC
test_case.invocations: parse isNull assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testEmptyCPLC()
focal_class.declarator: LOGGER = LoggerFactory.getLogger(CPLCUtils.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOGGER = LoggerFactory.getLogger(CPLCUtils.class);
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.declarator: CPLC_TAG = new TagImpl("9f7f", TagValueTypeEnum.BINARY, "Card Production Life Cycle Data", "")
focal_class.modifier: private static final
focal_class.original_string: private static final ITag CPLC_TAG = new TagImpl("9f7f", TagValueTypeEnum.BINARY, "Card Production Life Cycle Data", "");
focal_class.type: ITag
focal_class.var_name: CPLC_TAG
focal_class.file: library/src/main/java/com/github/devnied/emvnfccard/utils/CPLCUtils.java
focal_class.identifier: CPLCUtils
focal_class.class_method_signature: CPLCUtils.parse(byte[] raw)
focal_class.full_signature: public static CPLC parse(byte[] raw)
focal_class.identifier: parse
focal_class.modifiers: public static
focal_class.parameters: (byte[] raw)
focal_class.return: CPLC
focal_class.signature: CPLC parse(byte[] raw)
focal_class.class_method_signature: CPLCUtils.CPLCUtils()
focal_class.full_signature: private  CPLCUtils()
focal_class.identifier: CPLCUtils
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  CPLCUtils()
focal_method.body: public static CPLC parse(byte[] raw) {
  		CPLC ret = null;
  		if (raw != null) {
  			byte[] cplc = null;
  			// try to interpret as raw data (not TLV)
  			if (raw.length == CPLC.SIZE + 2) {
  				cplc = raw;
  			}
  			// or maybe it's prepended with CPLC tag:
  			else if (raw.length == CPLC.SIZE + 5) {
  				cplc = TlvUtil.getValue(raw, CPLC_TAG);
  			} else {
  				LOGGER.error("CPLC data not valid");
  				return null;
  			}
  			ret = new CPLC();
  			ret.parse(cplc,null);
  		}
  		return ret;
  	}
focal_method.class_method_signature: CPLCUtils.parse(byte[] raw)
focal_method.full_signature: public static CPLC parse(byte[] raw)
focal_method.identifier: parse
focal_method.invocations: getValue error parse
focal_method.modifiers: public static
focal_method.parameters: (byte[] raw)
focal_method.return: CPLC
focal_method.signature: CPLC parse(byte[] raw)