FINERACT-2056: (chore) introduce builder pattern and remove redundant methods & constructors.

- used @Getter & @Builder annotations on the above of GroupSavingsIndividualMonitoringAccountData.
- removed the getters and getInstance() methods from the implementation.
- change GSIMReadPlatformServiceImpl to make use of the new implementation.
diff --git a/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/GroupSavingsIndividualMonitoringAccountData.java b/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/GroupSavingsIndividualMonitoringAccountData.java
index c7d861c..0a22d4e 100644
--- a/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/GroupSavingsIndividualMonitoringAccountData.java
+++ b/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/GroupSavingsIndividualMonitoringAccountData.java
@@ -20,7 +20,11 @@
 package org.apache.fineract.portfolio.savings.data;
 
 import java.math.BigDecimal;
+import lombok.Builder;
+import lombok.Getter;
 
+@Getter
+@Builder
 public final class GroupSavingsIndividualMonitoringAccountData {
 
     private final BigDecimal gsimId;
@@ -42,80 +46,4 @@
     private final Long childAccountsCount;
 
     private final String savingsStatus;
-
-    private GroupSavingsIndividualMonitoringAccountData(final BigDecimal glimId, final BigDecimal groupId, final BigDecimal clientId,
-            final String accountNumber, final BigDecimal childAccountId, final String childAccountNumber, final BigDecimal childDeposit,
-            final BigDecimal parentDeposit, final Long childAccountsCount, final String savingsStatus) {
-        this.gsimId = glimId;
-        this.groupId = groupId;
-        this.clientId = clientId;
-        this.accountNumber = accountNumber;
-        this.childAccountId = childAccountId;
-        this.childAccountNumber = childAccountNumber;
-        this.childDeposit = childDeposit;
-        this.parentDeposit = parentDeposit;
-        this.childAccountsCount = childAccountsCount;
-        this.savingsStatus = savingsStatus;
-    }
-
-    public static GroupSavingsIndividualMonitoringAccountData getInstance(final BigDecimal glimId, final BigDecimal groupId,
-            final String accountNumber, final String childAccountNumber, final BigDecimal childDeposit, final BigDecimal parentDeposit,
-            final Long childAccountsCount, final String savingsStatus) {
-        return new GroupSavingsIndividualMonitoringAccountData(glimId, groupId, null, accountNumber, null, childAccountNumber, childDeposit,
-                parentDeposit, childAccountsCount, savingsStatus);
-    }
-
-    public static GroupSavingsIndividualMonitoringAccountData getInstance1(final BigDecimal glimId, final BigDecimal groupId,
-            final String accountNumber, final BigDecimal parentDeposit, final String savingsStatus) {
-        return new GroupSavingsIndividualMonitoringAccountData(glimId, groupId, null, accountNumber, null, null, null, parentDeposit, null,
-                savingsStatus);
-    }
-
-    public static GroupSavingsIndividualMonitoringAccountData getInstance2(final BigDecimal glimId, final BigDecimal groupId,
-            final BigDecimal clientId, final String accountNumber, final BigDecimal childAccountId, final String childAccountNumber,
-            final BigDecimal childDeposit, final BigDecimal parentDeposit, final Long childAccountsCount, final String savingsStatus) {
-        return new GroupSavingsIndividualMonitoringAccountData(glimId, groupId, clientId, accountNumber, childAccountId, childAccountNumber,
-                childDeposit, parentDeposit, childAccountsCount, savingsStatus);
-    }
-
-    public BigDecimal getGsimId() {
-        return gsimId;
-    }
-
-    public BigDecimal getGroupId() {
-        return groupId;
-    }
-
-    public BigDecimal getClientId() {
-        return clientId;
-    }
-
-    public String getAccountNumber() {
-        return accountNumber;
-    }
-
-    public BigDecimal getChildAccountId() {
-        return childAccountId;
-    }
-
-    public String getChildAccountNumber() {
-        return childAccountNumber;
-    }
-
-    public BigDecimal getChildDeposit() {
-        return childDeposit;
-    }
-
-    public BigDecimal getParentDeposit() {
-        return parentDeposit;
-    }
-
-    public Long getChildAccountsCount() {
-        return childAccountsCount;
-    }
-
-    public String getSavingsStatus() {
-        return savingsStatus;
-    }
-
 }
diff --git a/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/service/GSIMReadPlatformServiceImpl.java b/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/service/GSIMReadPlatformServiceImpl.java
index dbb1138..7e63c06 100644
--- a/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/service/GSIMReadPlatformServiceImpl.java
+++ b/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/service/GSIMReadPlatformServiceImpl.java
@@ -73,8 +73,11 @@
             final BigDecimal parentBalance = rs.getBigDecimal("parentBalance");
             final BigDecimal childBalance = rs.getBigDecimal("childBalance");
             final String savingsStatus = SavingsAccountStatusType.fromInt((int) rs.getLong("savingsStatus")).toString();
-            return GroupSavingsIndividualMonitoringAccountData.getInstance2(gsimId, groupId, clientId, accountNumber, childAccountId,
-                    childAccountNumber, parentBalance, childBalance, childAccountsCount, savingsStatus);
+
+            return GroupSavingsIndividualMonitoringAccountData.builder().gsimId(gsimId).groupId(groupId).clientId(clientId)
+                    .accountNumber(accountNumber).childAccountId(childAccountId).childAccountNumber(childAccountNumber)
+                    .childDeposit(parentBalance).parentDeposit(childBalance).childAccountsCount(childAccountsCount)
+                    .savingsStatus(savingsStatus).build();
         }
     }
 
@@ -99,8 +102,8 @@
 
             final String loanStatus = LoanStatus.fromInt((int) rs.getLong("savingsStatus")).toString();
 
-            return GroupSavingsIndividualMonitoringAccountData.getInstance1(glimId, groupId, accountNumber, parentDeposit, loanStatus);
-
+            return GroupSavingsIndividualMonitoringAccountData.builder().gsimId(glimId).groupId(groupId).accountNumber(accountNumber)
+                    .parentDeposit(parentDeposit).savingsStatus(loanStatus).build();
         }
     }