/**
   * Override the getSections method on this maintainable so that the active field can be set to
   * read-only when a CINV doc has been created with this Milestone Schedule and Milestones
   */
  @Override
  public List getSections(MaintenanceDocument document, Maintainable oldMaintainable) {
    List<Section> sections = super.getSections(document, oldMaintainable);
    MilestoneSchedule milestoneSchedule =
        (MilestoneSchedule) document.getNewMaintainableObject().getBusinessObject();
    Long proposalNumber = milestoneSchedule.getProposalNumber();

    for (Section section : sections) {
      String sectionId = section.getSectionId();
      if (sectionId.equalsIgnoreCase(ArPropertyConstants.MILESTONES_SECTION)) {
        prepareMilestonesTab(section, proposalNumber);
      }
    }

    return sections;
  }
 /**
  * Constructs a MilestoneScheduleMaintainableImpl.
  *
  * @param award
  */
 public MilestoneScheduleMaintainableImpl(MilestoneSchedule milestoneSchedule) {
   super(milestoneSchedule);
   this.setBoClass(milestoneSchedule.getClass());
 }
 /**
  * This method is called for refreshing the Agency before display to show the full name in case
  * the agency number was changed by hand before any submit that causes a redisplay.
  */
 @Override
 public void processAfterRetrieve() {
   MilestoneSchedule milestoneSchedule = getMilestoneSchedule();
   milestoneSchedule.refreshNonUpdateableReferences();
   super.processAfterRetrieve();
 }