When I print this code what I get on the terminal is {3,4,4,20}. I want to insert an index at a position and shift the array to the right.When I was shifting the elements in the array it dropped 10. How do I fix this so what prints on the terminal is {3,4,10,20}. Thanks!
    public static void main(String[] args) {
    practice obj = new practice(5);
    obj.insert(3);
    obj.insert(10);
    obj.insert(20);
    obj.insertShift(4,1);
    obj.print();
  
public void insertShift(int index, int pos){
sum[counter++] = index;  
for(int i=counter-1; i> pos; i--){   
    sum[i]= sum[i-1];    
    sum[pos]= index;
}
}
   public class practice {
   private int[] sum;
  private int counter;
 public practice(int counter) {
sum = new int[counter];
}
 public void insert(int index) {
sum[counter] = index;
counter++;
if (counter == 0) {
    int[] newArray = new int[counter * 2];
    for (int i = 0; i < counter; i++) {
        sum[i] = newArray[i];
    }
   // sum = newArray;
   // System.out.println(counter);
}
}
public void insertAt(int index, int pos){
    sum[counter] = index;
    for(int i=pos; i<counter; i++){
       // sum[i] = sum[i+1];
        sum[pos]= index;
       // newArray[pos] = index;
    }
}
public void insertShift(int index, int pos){
sum[counter] = index;
for(int i=counter; i> pos; i--){
    sum[i]= sum[i-1];
    sum[pos]= index;
}
}
   public void print () {
    for (int i = 0; i < counter; i++) {
        System.out.println(sum[i]);
    }
 }
 }
 
    