made date immutable so internal state cannot be changed
refactored soap header interceptor to avoid using java internal api