@Override
  public TravelDocument findRootForTravelReimbursement(String travelDocumentIdentifier) {

    if (StringUtils.equals(travelDocumentIdentifier, VALID_DOCUMENT_IDENTIFIER)) {
      return createTA();
    } else {
      return realTravelDocumentService.findRootForTravelReimbursement(travelDocumentIdentifier);
    }
  }
 @Override
 public void updatePerDiemItemsFor(
     final TravelDocument document,
     final List<PerDiemExpense> perDiemList,
     final Integer perDiemId,
     final Timestamp start,
     final Timestamp end) {
   realTravelDocumentService.updatePerDiemItemsFor(document, perDiemList, perDiemId, start, end);
 }
 @Override
 public void setPerDiemMealsAndIncidentals(
     PerDiemExpense expense,
     PerDiem perDiem,
     TripType tripType,
     Timestamp tripEnd,
     boolean shouldProrate) {
   realTravelDocumentService.setPerDiemMealsAndIncidentals(
       expense, perDiem, tripType, tripEnd, shouldProrate);
 }
 @Override
 public <T> List<T> importFile(
     final String fileContents,
     final Class<T> c,
     final String[] attributeNames,
     final Map<String, List<String>> defaultValues,
     final Integer[] attributeMaxLength,
     final String tabErrorKey) {
   return realTravelDocumentService.importFile(
       fileContents, c, attributeNames, defaultValues, attributeMaxLength, tabErrorKey);
 }
 @Override
 public boolean validateSourceAccountingLines(
     TravelDocument travelDocument, boolean addToErrorPath) {
   return realTravelDocumentService.validateSourceAccountingLines(travelDocument, addToErrorPath);
 }
 @Override
 public AccountsReceivableOrganizationOptions getOrgOptions() {
   return realTravelDocumentService.getOrgOptions();
 }
 @Override
 public void disableDuplicateExpenses(TravelDocument trDocument, ActualExpense actualExpense) {
   realTravelDocumentService.disableDuplicateExpenses(trDocument, actualExpense);
 }
 @Override
 public boolean isDocumentStatusValidForReconcilingCharges(TravelDocument travelDocument) {
   return realTravelDocumentService.isDocumentStatusValidForReconcilingCharges(travelDocument);
 }
 @Override
 public void showNoTravelAuthorizationError(TravelReimbursementDocument document) {
   realTravelDocumentService.showNoTravelAuthorizationError(document);
 }
 @Override
 public TravelDocument getRootTravelDocumentWithoutWorkflowDocument(
     String travelDocumentIdentifier) {
   return realTravelDocumentService.getRootTravelDocumentWithoutWorkflowDocument(
       travelDocumentIdentifier);
 }
 @Override
 public List<LinkField> getAgencyLinks(TravelDocument travelDocument) {
   return realTravelDocumentService.getAgencyLinks(travelDocument);
 }
 @Override
 public TravelDocument getParentTravelDocument(String travelDocumentIdentifier) {
   return realTravelDocumentService.getParentTravelDocument(travelDocumentIdentifier);
 }
 @Override
 public List<String> findMatchingTrips(TravelDocument document) {
   return realTravelDocumentService.findMatchingTrips(document);
 }
 @Override
 public void revertOriginalDocument(TravelDocument travelDocument, String status) {
   realTravelDocumentService.revertOriginalDocument(travelDocument, status);
 }
 @Override
 public Date findLatestTaxableRamificationNotificationDate() {
   return realTravelDocumentService.findLatestTaxableRamificationNotificationDate();
 }
 @Override
 public boolean checkHoldGLPEs(TravelDocument document) {
   return realTravelDocumentService.checkHoldGLPEs(document);
 }
 @Override
 public void attachImportedExpenses(TravelDocument document) {
   realTravelDocumentService.attachImportedExpenses(document);
 }
 @Override
 public String retrieveAddressFromLocationCode(String locationCode) {
   return realTravelDocumentService.retrieveAddressFromLocationCode(locationCode);
 }
 @Override
 public List<TravelAdvance> getOutstandingTravelAdvanceByInvoice(Set<String> arInvoiceDocNumber) {
   return realTravelDocumentService.getOutstandingTravelAdvanceByInvoice(arInvoiceDocNumber);
 }
 @Override
 public KualiDecimal getAdvancesTotalFor(final TravelDocument travelDocument) {
   return realTravelDocumentService.getAdvancesTotalFor(travelDocument);
 }
 @Override
 public Collection<String> getApprovedTravelDocumentNumbersByTrip(
     String travelDocumentIdentifier) {
   return realTravelDocumentService.getApprovedTravelDocumentNumbersByTrip(
       travelDocumentIdentifier);
 }
 @Override
 public String getDocumentType(TravelDocument document) {
   return realTravelDocumentService.getDocumentType(document);
 }
 @Override
 public void restorePerDiemProperty(TravelDocument document, String property) {
   realTravelDocumentService.restorePerDiemProperty(document, property);
 }
 @Override
 public List<KeyValue> getMileageRateKeyValues(Date searchDate) {
   return realTravelDocumentService.getMileageRateKeyValues(searchDate);
 }
 @Override
 public List<TemSourceAccountingLine> smooshAccountingLinesToSubAccount(
     List<TemSourceAccountingLine> originalAccountingLines) {
   return realTravelDocumentService.smooshAccountingLinesToSubAccount(originalAccountingLines);
 }
 @Override
 public List<GroupTraveler> importGroupTravelers(
     final TravelDocument document, final String csvData) throws Exception {
   return realTravelDocumentService.importGroupTravelers(document, csvData);
 }
 @Override
 public String customizeAgencyLink(TravelDocument travelDocument, String agencyName, String link) {
   return realTravelDocumentService.customizeAgencyLink(travelDocument, agencyName, link);
 }
 @Override
 public List<SpecialCircumstances> copySpecialCircumstances(
     List<SpecialCircumstances> specialCircumstancesList, String documentNumber) {
   return realTravelDocumentService.copySpecialCircumstances(
       specialCircumstancesList, documentNumber);
 }
 @Override
 public List<TravelAdvance> getTravelAdvancesForTrip(String travelDocumentIdentifier) {
   return realTravelDocumentService.getTravelAdvancesForTrip(travelDocumentIdentifier);
 }
 @Override
 public List<TransportationModeDetail> copyTransportationModeDetails(
     List<TransportationModeDetail> transportationModeDetails, String documentNumber) {
   return realTravelDocumentService.copyTransportationModeDetails(
       transportationModeDetails, documentNumber);
 }