title: Kotlin error - There's a cycle in the delegation calls chain
body: <p>I have a Kotlin data class which takes the parameters as below and parcelable. I have defined a secondary constructor within this data class with two additional parameters lastSeen and netTotal. But, I keep getting the error <em><strong>There's a cycle in the delegation calls chain</strong></em> for the secondary constructor. How do I resolve this?</p>
  <pre><code>@Parcelize
  data class Person(
      val email: Email,
      val overrideEmail: Email,
      val phone: String,
      val firstName: String,
      val overrideFirstName: String,
      val lastName: String,
      val overrideLastName: String,
      val personId: String
  ) : Parcelable {
  
      //some code
  
      constructor(
      email: Email,
      overrideEmail: Email,
      phone: String,
      firstName: String,
      overrideFirstName: String,
      lastName: String,
      overrideLastName: String,
      personId: String,
      lastSeen: String,
      netTotal: Int?
  ) : this(email, overrideEmail, phone, firstName, overrideFirstName, lastName, overrideLastName, personId, lastSeen, netTotal)
  
  }
  </code></pre>
  <p>Additionally I have to use this secondary constructor in a response mapper. The mapper with the original values are shown below. How would I include the secondary constructor in my response mapper?</p>
  <pre><code>class PersonFromResponseMapper @Inject constructor() : Mapper&lt;Person, PersonResponse&gt;() {
  override fun map(from: PersonResponse, params: Any?): Person = with(from) {
      Person(
          Email(receiptEmailAddress.orEmpty()),
          Email(overrideEmail.orEmpty()),
          &quot;&quot;,
          firstName.orEmpty(),
          overrideFirstName.orEmpty(),
          lastName.orEmpty(),
          overrideLastName.orEmpty(),
          personUserId.orEmpty()
      )
  }
  </code></pre>