code: public void setParent(ProjectCalendar calendar)
     {
        // I've seen a malformed MSPDI file which sets the parent calendar to itself.
        // Silently ignore this here.
        if (calendar != this)
        {
           if (getParent() != null)
           {
              getParent().removeDerivedCalendar(this);
           }
  
           super.setParent(calendar);
  
           if (calendar != null)
           {
              calendar.addDerivedCalendar(this);
           }
           clearWorkingDateCache();
        }
     }
docs: Sets the ProjectCalendar instance from which this calendar is derived.
  
  @param calendar base calendar instance