question: 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 ) ; } }
target:  Adds attributes that have been requested vis configuration properties. Asserts attribute order where necessary.