public static ReadWithoutEncryptionResponse Read(NfcF nfcf)
        {
            var targetSystemCode = new byte[2] {
                (byte)0x00, (byte)0x03
            };

            // [1]
            var poolingCommand     = new PollingCommand(targetSystemCode);
            var pooolingRequest    = poolingCommand.RequestPacket();
            var rawPoolingResponse = nfcf.Transceive(pooolingRequest);
            var poolingResponse    = new PoolingResponse(rawPoolingResponse);

            var targetIdm = poolingResponse.IDm();

            var serviceCode = new byte[2] {
                (byte)0x0f, (byte)0x09
            };

            // [2]
            var requestServiceCommand     = new RequestServiceCommand(targetIdm, serviceCode);
            var requestServiceRequest     = requestServiceCommand.RequestPacket();
            var rawRequestServiceResponse = nfcf.Transceive(requestServiceRequest);
            var requestServiceResponcse   = new RequestServiceResponse(rawRequestServiceResponse);

            // [3]
            var requestCommandRireki = new ReadWithoutEncryptionCommandRireki();
            var requestCommandPacket = requestCommandRireki.RequestPacket(targetIdm, 10);

            var rawReadWithoutEncryptionCommandRireki = nfcf.Transceive(requestCommandPacket);
            var retData = new ReadWithoutEncryptionResponse(rawReadWithoutEncryptionCommandRireki);

            return(retData);
        }
        private void NFCHandleForm_DiscoverNfcFTag(object sender, NfcFEventArgs e)
        {
            Debug.WriteLine("Discover Tag");

            FeliCaLibWrapper felicaLib = new FeliCaLibWrapper();
            PollingCommand   command   = new PollingCommand(PollingCommand.SYSTEM_CODE_WILDCARD, PollingCommand.REQUEST_CODE_REQUEST_SYSTEM_CODE);

            try
            {
                CommandResponse        response        = felicaLib.PerformCommand(command);
                PollingCommnadResponse pollingResponse = new PollingCommnadResponse(response);
                pollingResponse.Dump();
            }
            catch (FeliCaException)
            {
                DispatchErrorEvent();
                Close();
            }
        }