public Object Narrow(Type type) { if( this.GetType().Equals( type ) ) { return this; } else if( this.next != null ) { return this.next.Narrow( type ); } return null; }