### Question:
ProvisionProtocol implements ActiveSyncProtocol<ProvisionRequest, ProvisionResponse> { @Override public ProvisionRequest decodeRequest(Document doc) throws InvalidPolicyKeyException { String policyType = DOMUtils.getUniqueElement(doc.getDocumentElement(), "PolicyType").getTextContent(); Element pKeyElem = DOMUtils.getUniqueElement(doc.getDocumentElement(), "PolicyKey"); Long policyKey = getPolicyKey(pKeyElem); return ProvisionRequest.builder() .policyType(policyType) .policyKey(policyKey) .build(); } private  ProvisionProtocol(PolicyProtocol policyProtocol); @Override ProvisionRequest decodeRequest(Document doc); @Override ProvisionResponse decodeResponse(Document doc); @Override Document encodeResponse(Device device, ProvisionResponse provisionResponse); Document encodeErrorResponse(ProvisionStatus errorStatus); @Override Document encodeRequest(ProvisionRequest provisionRequest);  }### Answer:
@Test(expected=InvalidPolicyKeyException.class) public void parseRequestWithWrongPolicyKey() throws InvalidPolicyKeyException { provisionProtocol.decodeRequest(buildRequestDocument("3378841480ZZD")); }