I've been working on it but It will not add "insert" in index 0 
and will not remove the item in index 1 which is the "add" and find what's in the index 1 which i wanted to display it seems there's something wrong with my code but i dont know where's the problem on it...Can someone help me..It think was right but something is missing of my code

public class LinkedList<E> {

private Node<E> headnode = null;

public void makeEmpty() {
headnode = null;
}

public void printList() {
Node<E> current = headnode;
while (current != null) {
System.out.println(current.element);
current = current.nextNode;
}
}

public int find(E element) {
int index = 0;
Node<E> current = headnode;
while (current != null) {
if (current.element.equals(element)) {
return index;
}
}
return -1;
}

public void insert(int index, E element) {
Node<E> newNode = new Node<E>();
newNode.element = element;
if (headnode == null) {
headnode = new Node<E>();
headnode = newNode;
} else {
Node<E> current = headnode;
Node<E> previous = current;
while (current != null) {
index--;
if (index == 0) {
Node<E> temp = previous.nextNode;
previous.nextNode = newNode;
newNode.nextNode = temp;
return;
} else {
previous = current;
current = current.nextNode;
}
}
}

}

public void remove(int index) {
Node<E> current = headnode;
while (current != null) {

if (index == 0) {
current.nextNode = current.nextNode.nextNode;
return;
}
index--;
current = current.nextNode;
}
}

public E findKth(int index) {
Node<E> current = headnode;
while (current != null) {
if (index == 0) {
return current.element;
}
current = current.nextNode;
index--;
}
return null;
}

private class Node<E> {
E element;
Node<E> nextNode = null;
}

public static void main(String[] args) {
LinkedList<String> list = new LinkedList<String>();
list.insert(0, "add");
list.insert(1, "print");
list.insert(2, "remove");
list.insert(3, "search");
list.insert(4, "find");
list.insert(0, "hello");
list.printList();
System.out.println("------------------");
list.insert(0, "insert");
list.remove(1);
System.out.println("after add and remove");
list.printList();
System.out.println(list.find("print"));
System.out.println(list.findKth(1));

}

}