private void prepareForEncoding(){
  Attribute msgIntAttr=removeAttribute(Attribute.MESSAGE_INTEGRITY);
  Attribute fingerprint=removeAttribute(Attribute.FINGERPRINT);
  String software=System.getProperty(StackProperties.SOFTWARE);
  if (getAttribute(Attribute.SOFTWARE) == null && software != null && software.length() > 0) {
    putAttribute(AttributeFactory.createSoftwareAttribute(software.getBytes()));
  }
  if (msgIntAttr != null) {
    putAttribute(msgIntAttr);
  }
  if (fingerprint == null && Boolean.getBoolean(StackProperties.ALWAYS_SIGN)) {
    fingerprint=AttributeFactory.createFingerprintAttribute();
  }
  if (fingerprint != null) {
    putAttribute(fingerprint);
  }
}

private void prepareForEncoding ( ) { Attribute msgIntAttr = removeAttribute ( Attribute . MESSAGE_INTEGRITY ) ; Attribute fingerprint = removeAttribute ( Attribute . FINGERPRINT ) ; String software = System . getProperty ( StackProperties . SOFTWARE ) ; if ( getAttribute ( Attribute . SOFTWARE ) == null && software != null && software . length ( ) > 0 ) { putAttribute ( AttributeFactory . createSoftwareAttribute ( software . getBytes ( ) ) ) ; } if ( msgIntAttr != null ) { putAttribute ( msgIntAttr ) ; } if ( fingerprint == null && Boolean . getBoolean ( StackProperties . ALWAYS_SIGN ) ) { fingerprint = AttributeFactory . createFingerprintAttribute ( ) ; } if ( fingerprint != null ) { putAttribute ( fingerprint ) ; } }
adds attributes that have been requested vis configuration properties . asserts attribute order where necessary .
