This allows multiple extensions to modify or copy attributes from the anonymous customer, to the
customer. The customer is stored on the customerHolder. If the customer is modified and / or saved to the DB,
the new instance must be reset on the customerHolder. Each implementation can expect that the result holder will
have the latest version of the customer. Implementors are not required to save the customer.
It is the responsibility of each implementation to reset the reference.
Additionally and alternatively, this method allows for copying and / or modification of the request
attributes from session or request. Implementors should carefully consider security implications of
copying customer data.
The anonymous customer may be null. If the request parameter, the customerHolder parameter, or the customer stored
on the customerHolder is null, then an IllegalArgumentException should be thrown.
The return value, generally, should be ExtensionResultStatusType.HANDLED_CONTINUE. If an implementation wishes
to return an exception in the customerHolder, it should instantiate and set an exception on the customerHolder
and return ExtensionResultStatusType.HANDLED_STOP.