public SymmetricBindingHandler(
     WSSConfig config,
     SymmetricBinding binding,
     SOAPMessage saaj,
     WSSecHeader secHeader,
     AssertionInfoMap aim,
     SoapMessage message) {
   super(config, binding, saaj, secHeader, aim, message);
   this.sbinding = binding;
   tokenStore = getTokenStore();
   protectionOrder = binding.getProtectionOrder();
 }
  public void handleBinding() {
    WSSecTimestamp timestamp = createTimestamp();
    handleLayout(timestamp);

    if (isRequestor()) {
      // Setup required tokens
      initializeTokens();
    }

    if (sbinding.getProtectionOrder() == SPConstants.ProtectionOrder.EncryptBeforeSigning) {
      doEncryptBeforeSign();
    } else {
      doSignBeforeEncrypt();
    }
    // REVIST - what to do with these policies?
    policyAsserted(SP11Constants.TRUST_10);
    policyAsserted(SP12Constants.TRUST_13);
  }