In order to make a deep copy of Sunbird Request, you can serialize it and then deserialize back as a Request class object. For serialization and deserialization, you can use exiting files like JsonUtils or ScalaJsonUtils. Click here for more details.