Error de Java: Nueva matriz genérica de TreeNode

Tengo clase genérica de TreeNode:

public class TreeNode<E> {
public E key;
public int num_of_children;
public TreeNode<E> [] children;


public TreeNode(int num_of_children)
{
    this.num_of_children = num_of_children;
    children = new TreeNode[num_of_children];// Why not: new TreeNode<E>[num_of_children]?
}

public TreeNode<E> clone()
{
    TreeNode<E> node = new TreeNode<E>(num_of_children);
    return node;
}

}

Cuando trato de hacer:children = new TreeNode<E> [num_of_children];

Me sale el error Pero "new TreeNode [num_of_children]" funciona. Leí sobre el borrado de tipos, y no entiendo por quéTreeNode<E>[] no funciona ¿Porqué es eso? ¡Por favor iluminame!

Respuestas a la pregunta(2)

Su respuesta a la pregunta