code: public static List<TagAndLength> parseTagAndLength(final byte[] data) {
  		List<TagAndLength> tagAndLengthList = new ArrayList<TagAndLength>();
  		if (data != null) {
  			TLVInputStream stream = new TLVInputStream(new ByteArrayInputStream(data));
  
  			try {
  				while (stream.available() > 0) {
  					if (stream.available() < 2) {
  						throw new TlvException("Data length < 2 : " + stream.available());
  					}
  
  					ITag tag = searchTagById(stream.readTag());
  					int tagValueLength = stream.readLength();
  
  					tagAndLengthList.add(new TagAndLength(tag, tagValueLength));
  				}
  			} catch (IOException e) {
  				LOGGER.error(e.getMessage(), e);
  			} finally {
  				IOUtils.closeQuietly(stream);
  			}
  		}
  		return tagAndLengthList;
  	}
docs: Method used to parser Tag and length
  
  @param data
  data to parse
  @return tag and length