public class DoublyList{ public Node head; /* First Constru

public class DoublyList{ public Node head; /* First Constructor: *… public class DoublyList{public Node head;    /* First Constructor:* Creates a linked list using the values from the given array. head will refer* to the Node that contains the element from a[0]*/public DoublyList(Object [] a){  }  /* Second Constructor:* Sets the value of head. head will refer* to the given LinkedList*/public DoublyList(Node h){head = h;}  /* Counts the number of Nodes in the list */public int countNode(){// TO DO  return -100; // please remove this line!}  /* prints the elements in the list */public void forwardprint(){// TO DO}  public void backwardprint(){// TO DO   }    // returns the reference of the Node at the given index. For invalid index return null.public Node nodeAt(int idx){// TO DO  return null; // please remove this line!}      /* returns the index of the Node containing the given element.if the element does not exist in the List, return -1.*/public int indexOf(Object elem){// TO DO      return -100; // please remove this line!}      /* inserts Node containing the given element at the given index* Check validity of index.*/public void insert(Object elem, int idx){// TO DO  }        /* removes Node at the given index. returns element of the removed node.* Check validity of index. return null if index is invalid.*/public Object remove(int index){// TO DO    return null; // please remove this line!}      }Engineering & Technology Computer Science