final DepositAccountData depositAccountData = super.mapRow(rs);
final boolean preClosurePenalApplicable = rs.getBoolean("preClosurePenalApplicable");
final BigDecimal preClosurePenalInterest = JdbcSupport.getBigDecimalDefaultToNullIfZero(rs, "preClosurePenalInterest");
final Integer preClosurePenalInterestOnTypeId = JdbcSupport.getInteger(rs, "preClosurePenalInterestOnId");
final EnumOptionData preClosurePenalInterestOnType = (preClosurePenalInterestOnTypeId == null) ? null : SavingsEnumerations
.preClosurePenaltyInterestOnType(preClosurePenalInterestOnTypeId);
final Integer minDepositTerm = JdbcSupport.getInteger(rs, "minDepositTerm");
final Integer maxDepositTerm = JdbcSupport.getInteger(rs, "maxDepositTerm");
final Integer minDepositTermTypeId = JdbcSupport.getInteger(rs, "minDepositTermTypeId");
final EnumOptionData minDepositTermType = (minDepositTermTypeId == null) ? null : SavingsEnumerations
.depositTermFrequencyType(minDepositTermTypeId);
final Integer maxDepositTermTypeId = JdbcSupport.getInteger(rs, "maxDepositTermTypeId");
final EnumOptionData maxDepositTermType = (maxDepositTermTypeId == null) ? null : SavingsEnumerations
.depositTermFrequencyType(maxDepositTermTypeId);
final Integer inMultiplesOfDepositTerm = JdbcSupport.getInteger(rs, "inMultiplesOfDepositTerm");
final Integer inMultiplesOfDepositTermTypeId = JdbcSupport.getInteger(rs, "inMultiplesOfDepositTermTypeId");
final EnumOptionData inMultiplesOfDepositTermType = (inMultiplesOfDepositTermTypeId == null) ? null : SavingsEnumerations
.depositTermFrequencyType(inMultiplesOfDepositTermTypeId);
final BigDecimal depositAmount = JdbcSupport.getBigDecimalDefaultToNullIfZero(rs, "depositAmount");
final BigDecimal maturityAmount = JdbcSupport.getBigDecimalDefaultToNullIfZero(rs, "maturityAmount");
final LocalDate maturityDate = JdbcSupport.getLocalDate(rs, "maturityDate");
final Integer depositPeriod = JdbcSupport.getInteger(rs, "depositPeriod");
final Integer depositPeriodFrequencyTypeId = JdbcSupport.getInteger(rs, "depositPeriodFrequencyTypeId");
final EnumOptionData depositPeriodFrequencyType = (depositPeriodFrequencyTypeId == null) ? null : SavingsEnumerations
.depositPeriodFrequency(depositPeriodFrequencyTypeId);
final BigDecimal mandatoryRecommendedDepositAmount = JdbcSupport.getBigDecimalDefaultToNullIfZero(rs,
"mandatoryRecommendedDepositAmount");
final BigDecimal totalOverdueAmount = JdbcSupport.getBigDecimalDefaultToNullIfZero(rs, "totalOverdueAmount");
final Integer noOfOverdueInstallments = JdbcSupport.getInteger(rs, "noOfOverdueInstallments");
final boolean isMandatoryDeposit = rs.getBoolean("isMandatoryDeposit");
final boolean allowWithdrawal = rs.getBoolean("allowWithdrawal");
final boolean adjustAdvanceTowardsFuturePayments = rs.getBoolean("adjustAdvanceTowardsFuturePayments");
final boolean isCalendarInherited = rs.getBoolean("isCalendarInherited");
final Integer onAccountClosureId = JdbcSupport.getInteger(rs, "onAccountClosureId");
final EnumOptionData onAccountClosureType = (onAccountClosureId == null) ? null : SavingsEnumerations
.depositAccountOnClosureType(onAccountClosureId);
final LocalDate expectedFirstDepositOnDate = JdbcSupport.getLocalDate(rs, "expectedFirstDepositOnDate");
return RecurringDepositAccountData.instance(depositAccountData, preClosurePenalApplicable, preClosurePenalInterest,
preClosurePenalInterestOnType, minDepositTerm, maxDepositTerm, minDepositTermType, maxDepositTermType,