public class Faculty { static int arrcounter=0; int counter=0; int studentNum=0; StudentImpl students[]; Faculty(int num){ studentNum=num; students=new StudentImpl[studentNum]; } Faculty(StudentImpl []studentsarr){ this.students=studentsarr; studentNum=studentsarr.length; } class TravelerImpl implements Traveler{ TravelerImpl(){}; public Object Current(){ return students[counter]; } public boolean end(){ if (counter==studentNum) return true; else return false; } public void next(){ if(counter<20){counter+=1;} } } public Traveler GetTraveler(){ TravelerImpl t=new TravelerImpl(); return t; } public void add(String Name,String Address,int MajorGrade,int OtherGrade){ students[arrcounter++]=new StudentImpl( Name, Address, MajorGrade, OtherGrade); } public void add(String Name,String Address,int MajorGrade,int OtherGrade,String major){ students[arrcounter++]=new MasterStudent(Name, Address, MajorGrade, OtherGrade, major); } }