code: private static String checkP2WPKHP2SH(byte[] scriptPubKey) {
  	boolean validLength=scriptPubKey.length==23;
  	if (!(validLength)) {
  		return null;
  	}
  	boolean validStart=((scriptPubKey[0] & 0xFF)==0xA9) && ((scriptPubKey[1] & 0xFF)==0x14);
  	boolean validEnd=(scriptPubKey[22] & 0xFF)==0x87;
  	if (validStart && validEnd){
  		byte[] keyhash = Arrays.copyOfRange(scriptPubKey, 2, 22);
  		return "P2WPKHP2SH_"+BitcoinUtil.convertByteArrayToHexString(keyhash);
  	}
  	return null;
  }
docs: Checks if scriptPubKey is about a transaction for pay-to-witness-public-key-hash (P2WPKH) nested in BIP16 P2SH
  Note that we return only the keyhash, but more information can be found in
  (1) the witness (cf. https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki)
  (2) in scriptSig (keyhash)
  
  @param scriptPubKey
  @return null, if transaction is not about P2WPKHP2SH_, a string starting with "P2WPKHP2SH_keyhash"