/**
  * Restricted copy constructor.
  *
  * @param beanToCopy the bean to copy from, not null
  */
 private Builder(InterpolatedNodalCurve beanToCopy) {
   this.metadata = beanToCopy.getMetadata();
   this.xValues = beanToCopy.getXValues();
   this.yValues = beanToCopy.getYValues();
   this.extrapolatorLeft = beanToCopy.getExtrapolatorLeft();
   this.interpolator = beanToCopy.getInterpolator();
   this.extrapolatorRight = beanToCopy.getExtrapolatorRight();
 }
 @Override
 public boolean equals(Object obj) {
   if (obj == this) {
     return true;
   }
   if (obj != null && obj.getClass() == this.getClass()) {
     InterpolatedNodalCurve other = (InterpolatedNodalCurve) obj;
     return JodaBeanUtils.equal(getMetadata(), other.getMetadata())
         && JodaBeanUtils.equal(getXValues(), other.getXValues())
         && JodaBeanUtils.equal(getYValues(), other.getYValues())
         && JodaBeanUtils.equal(getExtrapolatorLeft(), other.getExtrapolatorLeft())
         && JodaBeanUtils.equal(getInterpolator(), other.getInterpolator())
         && JodaBeanUtils.equal(getExtrapolatorRight(), other.getExtrapolatorRight());
   }
   return false;
 }