Based on your code, you have a child class INodeNew and parent class INode.
NOw the variable listValue1 is of type INode, which is the parent class. You are trying to cast the parent class object to the child class, which is not supported. You can cast a child class object to the parent class, but not the otherway around.
For e.g. Imaging you have a Class Car, and Child classes Toyota, Ford, BMW etc. Now the objects of Toyota can be coverted to Car, but a Car object can not be converted to a type of Toyota.
Hope this helps.