### Question:
ScriptPattern { public static boolean isP2WSH(Script script) { if (!isP2WH(script)) return false; List<ScriptChunk> chunks = script.chunks; if (!chunks.get(0).equalsOpCode(OP_0)) return false; byte[] chunk1data = chunks.get(1).data; return chunk1data != null && chunk1data.length == SegwitAddress.WITNESS_PROGRAM_LENGTH_SH; }  static boolean isP2PKH(Script script); static byte[] extractHashFromP2PKH(Script script); static boolean isP2SH(Script script); static byte[] extractHashFromP2SH(Script script); static boolean isP2PK(Script script); static byte[] extractKeyFromP2PK(Script script); static boolean isP2WH(Script script); static boolean isP2WPKH(Script script); static boolean isP2WSH(Script script); static byte[] extractHashFromP2WH(Script script); static boolean isSentToMultisig(Script script); static boolean isOpReturn(Script script); static boolean isWitnessCommitment(Script script); static Sha256Hash extractWitnessCommitmentHash(Script script); static boolean isOpCreate(Script script); static boolean isOpCall(Script script); static boolean isContract(Script script); static long extractGasLimit(Script script); static long extractGasPrice(Script script);  }### Answer:
@Test public void testCreateP2WSHOutputScript() { assertTrue(ScriptPattern.isP2WSH( ScriptBuilder.createP2WSHOutputScript(new ScriptBuilder().build()) )); }