public class Clan {
    private String clanName;
    static ArrayList<Citizen> list;
    private int clanSize;
  public Clan(String clanName, int clanSize) {
     this.clanName = clanName;
     this.clanSize = clanSize;
     Clan.list = new ArrayList<Citizen>(clanSize);
   //list.add(new Archer());
   for (int i = 0; i < clanSize; i++) {
       Clan.list.add(Citizen.randomCitizen());
   }
}
    public static Citizen randomCitizen() {
    Random randomReturn = new Random();
    Citizen [] list = new Citizen[3];
    list[0]=new Archer();
    list[1]= new Barbarian();
    list[2]= new Civilian();
    return list[randomReturn.nextInt(list.length)];
 
}
This is meant to randomly fill the clan with random citizens whenever its called. The error I am having is if I create a new clan(toronto, 5) and another new clan(montreal, 6). They both have the same pattern of citizens. Its meant to be random for each call
 
    