Review the code to copy List of custom class to another list of Custom class Thanks for the Reply. 

Here is the actual Scenario 
My application received the data from a backend in the form of a class object ie. 

public class FlowObject { 
private String id; 
private List&lt;FlowStep&gt; flowlSteps; 
private List&lt;String&gt; audRefs; 

} 


Now FlowStep class as mentioned above is 

public class FlowStep { 

private String id; 
public String getId() { 
return id; 
} 
public void setId(String id) { 
this.id = id; 
} 

} 




Now since Backend code is NOT ready Im writing the dummy implementation of backend FlowObject Class at my Side whose data gets copied to my local Class FlowCopy 
Thats why I need to write both FlowObject and FlowCopy Classes 

Now My Backend Dummpy Implemetation of FlowObject is as below

import java.util.ArrayList;  
import java.util.Arrays;  
import java.util.List;  
public class FlowObject {  
    private String id;  
    private List&lt;FlowStep&gt; flowlSteps;  
    private List&lt;String&gt; audRefs;  
    public String getId() {  
            return id;  
        }  
        public void setId(String id) {  
            this.id = id;  
        }  
        public List&lt;FlowStep&gt; getFlowSteps() {  
            return flowlSteps;  
        }  
        public void setFlowSteps(List&lt;FlowStep&gt; flowlSteps) {  
            this.flowlSteps= flowlSteps;  
        }  
        public List&lt;String&gt; getAudRefs() {  
            return audRefs;  
        }  
        public void setAudRefs(List&lt;String&gt; audRefs) {  
            this.audRefs = audRefs;  
        }  
}  


And public class FlowStep {  

private String id;  

 public String getId() {  
    return id;  
}  
public void setId(String id) {  
    this.id = id;  
}  


}  

and my local FlowCopy Class is as below

public class FlowCopy {  
    private String id;  
    private List&lt;FlowStep&gt; flowSteps;  
    private List&lt;String&gt; audRefs;  

    public String getId() {  
        return id;  
    }  
    public void setId(String id) {  
        this.id = id;  
    }  
    public List&lt;FlowStep&gt; getFlowSteps() {  
        return flowSteps;  
    }  
    public void setFlowlSteps(List&lt;FlowStep&gt; flowSteps) {  
        this.flowSteps= flowSteps;  
    }  
    public List&lt;String&gt; getAudRefs() {  
        return audRefs;  
    }  
    public void setAudRefs(List&lt;String&gt; audRefs) {  
        this.audRefs = audRefs;  
    }  
}  


Now my intention is to Copy the Custom FlowObject Class to a list of FlowCopy which will be used in application 

public List&lt;FlowCopy&gt; getFlow(  List&lt;FlowObject &gt; obj  ){  
       List&lt;FlowCopy&gt; flowRes = new ArrayList&lt;FlowCopy&gt;(obj.size());  
       for (FlowObject object:obj)  
       {  
           FlowCopy  callFlow = new FlowCopy();  
           callFlow.setId(object.getId());  
           callFlow.setAudioRefs(object.getAudRefs());  
           callFlow.setCallSteps(object.getFlowSteps());  
           flowRes .add(callFlow);  

       }  
     return flowRes ;  
   }  


Please review the above implemetation and suggest a suitable approach
One thing I guess you can consider is to add a constructor for class FlowCopy that handles (or encapsulates) the copy task to release this burden from function getFlow():

public class FlowCopy {
    public FlowCopy(FlowObject obj) {
        setId(obj.getId());  
        setAudioRefs(obj.getAudRefs());  
        setCallSteps(obj.getFlowSteps());
    }
   ...
}