Computers and Technology

Can someone urgently help me with my java code (I WILL GIVE BRAINLIEST)?! Ive been working on it for hours and its not working! (please give an actual answer...)*examples of required output at the bottom*code: public class CircularList{private ListNode head;private ListNode tail;private int size;public CircularList(){head = tail = null;size = 0;}public int size(){return size;}public boolean isEmpty(){return (size == 0);}public int first(){if (head != null) {return head.getValue();}return -1;}public Integer last(){if (tail != null) {return tail.getValue();}return -1;}public void addFirst(Integer value){head = new ListNode(value, head);if (tail == null) {tail = head;}size++;}public void addLast(Integer value){ListNode newTail = new ListNode(value, null);if (tail != null) {tail.setNext(newTail);tail = newTail;} else {head = tail = newTail;}size++;}public void addAtPos(int pos, Integer value){if (pos == 0) {addFirst(value);return;}if (pos size) {return;}if (pos == size) {addLast(value);return;}ListNode ptr = head;for(int i=0; i = size) {return retVal;}if (pos == 0) {return removeFirst();}ListNode ptr = head;for(int i=0; iptr = ptr.getNext();}retVal = ptr.getNext().getValue();if (pos == size-1) {tail = ptr;tail.setNext(null);} else {ptr.setNext(ptr.getNext().getNext());}size--;return retVal;}public int findNode(Integer find){ListNode ptr = head;for(int pos=0; posif (ptr.getValue() == find) {return pos;}ptr = ptr.getNext();}return -1;}public void rotate(){addLast(removeFirst());}public String toString(){String output = "";ListNode iter = head;while(iter != null) {output += String.format("%d ", iter.getValue());iter = iter.getNext();}return output;}}size = 6 first = 50 last = 6050 20 10 40 30 60removeFirst = 50size = 5 first = 20 last = 6020 10 40 30 60removed = 30size = 4 first = 20 last = 6020 10 40 60size = 4 first = 20 last = 6020 10 40 60found at -1removed = -1size = 4 first = 20 last = 6020 10 40 60size = 4 first = 10 last = 2010 40 60 20