Buggy code:
public class AwardDtoService extends KcDtoServiceBase < AwardDTO , Award > { public static final String FUND_MANAGER_TYPE_CODE_PARAM = "FIN_SYS_UNIT_ADMIN_TYPE_FUND_MANAGER" ; private BusinessObjectService businessObjectService ; private ParameterService parameterService ; private KcDtoService < ProposalDTO , InstitutionalProposal > proposalDtoService ; private KcDtoService < SponsorDTO , Sponsor > sponsorDtoService ; private KcDtoService < AwardMethodOfPaymentDTO , AwardMethodOfPayment > awardMethodOfPaymentDtoService ; private KcDtoService < FrequencyDto , Frequency > frequencyDtoService ; @ Override public AwardDTO buildDto ( Award award ) { if ( award != null ) { AwardDTO dto = new AwardDTO ( ) ; dto . setAwardId ( award . getAwardId ( ) ) ; dto . setAwardNumber ( award . getAwardNumber ( ) ) ; dto . setAwardStartDate ( award . getBeginDate ( ) ) ; dto . setAwardEndDate ( award . getLastAwardAmountInfo ( ) . getFinalExpirationDate ( ) ) ; dto . setAwardTotalAmount ( award . getLastAwardAmountInfo ( ) . getObliDistributableAmount ( ) . bigDecimalValue ( ) ) ; dto . setAwardDocumentNumber ( award . getDocumentKey ( ) ) ; dto . setAwardLastUpdateDate ( award . getUpdateTimestamp ( ) ) ; dto . setAwardDirectCostAmount ( award . getLastAwardAmountInfo ( ) . getObligatedTotalDirect ( ) . bigDecimalValue ( ) ) ; dto . setAwardIndirectCostAmount ( award . getLastAwardAmountInfo ( ) . getObligatedTotalIndirect ( ) . bigDecimalValue ( ) ) ; dto . setProposalAwardTypeCode ( award . getAwardTypeCode ( ) . toString ( ) ) ; dto . setAwardStatusCode ( award . getStatusCode ( ) . toString ( ) ) ; dto . setSponsorCode ( award . getSponsorCode ( ) ) ; dto . setTitle ( award . getTitle ( ) ) ; dto . setUnitNumber ( award . getLeadUnitNumber ( ) ) ; dto . setAwardCommentText ( award . getAwardGeneralComments ( ) . getComments ( ) ) ; dto . setPrincipalInvestigatorId ( award . getPrincipalInvestigator ( ) . getPersonId ( ) ) ; dto . setAdditionalFormsRequired ( award . getAwardCgb ( ) . isAdditionalFormsRequired ( ) ) ; dto . setAutoApproveInvoice ( award . getAwardCgb ( ) . isAutoApproveInvoice ( ) ) ; dto . setStopWork ( award . getAwardCgb ( ) . isStopWork ( ) ) ; dto . setInvoicingOption ( award . getAwardCgb ( ) . getInvoicingOption ( ) ) ; dto . setInvoicingOptionDescription ( Types . get ( award . getAwardCgb ( ) . getInvoicingOption ( ) ) ) ; dto . setDunningCampaignId ( award . getAwardCgb ( ) . getDunningCampaignId ( ) ) ; dto . setAdditionalFormsDescription ( award . getAdditionalFormsDescriptionComment ( ) . getComments ( ) ) ; dto . setStopWorkReason ( award . getStopWorkReasonComment ( ) . getComments ( ) ) ; <START_BUG> dto . setMinInvoiceAmount ( award . getAwardCgb ( ) . getMinInvoiceAmount ( ) ) ; <END_BUG> dto . setExcludedFromInvoicing ( award . getAwardCgb ( ) . isSuspendInvoicing ( ) ) ; dto . setExcludedFromInvoicingReason ( award . getSuspendInvoicingComment ( ) . getComments ( ) ) ; dto . setMethodOfPayment ( awardMethodOfPaymentDtoService . buildDto ( award . getAwardMethodOfPayment ( ) ) ) ; if ( ( ( award . getFundingProposals ( ) ) != null ) && ( ! ( award . getFundingProposals ( ) . isEmpty ( ) ) ) ) { InstitutionalProposal instProp = getBusinessObjectService ( ) . findBySinglePrimaryKey ( InstitutionalProposal . class , award . getFundingProposals ( ) . get ( 0 ) . getProposalId ( ) ) ; dto . setProposal ( proposalDtoService . buildDto ( instProp ) ) ; } if ( ( award . getSponsor ( ) ) != null ) { dto . setSponsor ( sponsorDtoService . buildDto ( award . getSponsor ( ) ) ) ; } else { return null ; } String fundManagerTypeCode = getParameterService ( ) . getParameterValueAsString ( Award . class , AwardDtoService . FUND_MANAGER_TYPE_CODE_PARAM ) ; for ( AwardUnitContact contact : award . getAwardUnitContacts ( ) ) { if ( StringUtils . equals ( contact . getUnitAdministratorTypeCode ( ) , fundManagerTypeCode ) ) { dto . setFundManagerId ( contact . getPersonId ( ) ) ; } } String invoiceReportDesc = getParameterService ( ) . getParameterValueAsString ( Award . class , INVOICE_REPORT_DESC_PARAM ) ; for ( AwardReportTerm reportItem : award . getAwardReportTermItems ( ) ) { if ( StringUtils . equals ( invoiceReportDesc , reportItem . getReport ( ) . getDescription ( ) ) ) { dto . setInvoiceBillingFrequency ( frequencyDtoService . buildDto ( reportItem . getFrequency ( ) ) ) ; } } return dto ; } else { return null ; } } protected BusinessObjectService getBusinessObjectService ( ) { } public void setBusinessObjectService ( BusinessObjectService businessObjectService ) { } protected ParameterService getParameterService ( ) { } public void setParameterService ( ParameterService parameterService ) { } protected KcDtoService < ProposalDTO , InstitutionalProposal > getProposalDtoService ( ) { } public void setProposalDtoService ( KcDtoService < ProposalDTO , InstitutionalProposal > proposalDtoService ) { } protected KcDtoService < SponsorDTO , Sponsor > getSponsorDtoService ( ) { } public void setSponsorDtoService ( KcDtoService < SponsorDTO , Sponsor > sponsorDtoService ) { } protected KcDtoService < AwardMethodOfPaymentDTO , AwardMethodOfPayment > getAwardMethodOfPaymentDtoService ( ) { } public void setAwardMethodOfPaymentDtoService ( KcDtoService < AwardMethodOfPaymentDTO , AwardMethodOfPayment > awardMethodOfPaymentDtoService ) { } public KcDtoService < FrequencyDto , Frequency > getFrequencyDtoService ( ) { } public void setFrequencyDtoService ( KcDtoService < FrequencyDto , Frequency > frequencyDtoService ) { } }

Fix:
dto . setMinInvoiceAmount ( ( ( award . getAwardCgb ( ) . getMinInvoiceAmount ( ) ) != null ? award . getAwardCgb ( ) . getMinInvoiceAmount ( ) . bigDecimalValue ( ) : null ) ) ;