The copy() method does the following: copy.setHeaders( getHeaders() ); same for parameters. It passes the reference of the Properties object w/o creating a new instance and copying the content. All subsequent instances share those and may modify those.
To make things worse HttpConfiguration.DEFAULT_PUT is passed for PUT. If a previous configuration modified http.protocol.expect-continue to false this singleton is modified too.