i have a base class

```
 TEventMulticaster = class(Tobject)
 public
   procedure Notify(aMap: WideString);
 end;

 procedure TEventMulticaster.Notify(aMap: WideString);
 begin
  // Do something 
 end;

```

And a derived generic class

```
  TEventMulticaster<T> = class(TEventMulticaster)
   public
     procedure Notify(aMap: T ); reintroduce;
   end;

  procedure TEventMulticaster<T>.Notify(aMap: T);
  begin
    inherited Notify(aMap)  // ERROR
  end;

```

when base class Notify is call it give me error **"Incompatible types: 'WideString' and 'T'"** 
and when i do `**Notify(WideString(aMap))**` it says invalid typecast

my question is how can i type cast generic type to "**WideString**" so that i can call base class `notify`