private void updateChanges(Cluster cluster, Topologies topologies) { //Cannot simply set this.cluster=schedulingState.cluster since clojure is immutable cluster.setAssignments(schedulingState.cluster.getAssignments()); cluster.setBlacklistedHosts(schedulingState.cluster.getBlacklistedHosts()); cluster.setStatusMap(schedulingState.cluster.getStatusMap()); cluster.setSupervisorsResourcesMap(schedulingState.cluster.getSupervisorsResourcesMap()); cluster.setTopologyResourcesMap(schedulingState.cluster.getTopologyResourcesMap()); cluster.setWorkerResourcesMap(schedulingState.cluster.getWorkerResourcesMap()); //updating resources used by supervisor updateSupervisorsResources(cluster, topologies); }