First, it is confusing why you have both
private Object elem;
private E value;
What is the difference between those ? I would get rid of elem
field and all related getters/setters.
Your real issue, however, is that you never set elem in your code, so simply change your output
method to have
System.out.println(temp.getValue()); // instead of temp.getElem()
and it will work.