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