class PNCClientPreProcessor {

    public PNCClient preProcess(PNCClient client) {
        List<PNCCircleDatum> circleData = new ArrayList<PNCCircleDatum>();
        List<PNCStatusDatum> statusData = new ArrayList<PNCStatusDatum>();
        List<PNCTickDatum> tickData = new ArrayList<PNCTickDatum>();
        List<PNCLineDatum> lineData = new ArrayList<PNCLineDatum>();

        int currentDay = DateUtil.dayDifference(client.deliveryDate(), DateUtil.today());
        populateExpectedVisitDates(client);
        List<ServiceProvidedDTO> first7DaysVisits = getFirst7DaysVisits(client);
        createViewElements(client, currentDay, first7DaysVisits, circleData, statusData, tickData,
                lineData);
        populateRecent3Visits(client);
        return client;
    }

}