code: private void assignSuperDfs( IDynamicFunctionSymbol dfsDelegate, IGosuClass owner )
    {
      IDynamicFunctionSymbol rawSuperDfs = dfsDelegate.getSuperDfs();
      if( rawSuperDfs instanceof DynamicFunctionSymbol )
      {
        while( rawSuperDfs.getBackingDfs() instanceof DynamicFunctionSymbol && rawSuperDfs.getBackingDfs() != rawSuperDfs )
        {
          rawSuperDfs = rawSuperDfs.getBackingDfs();
        }
        IType ownersType = rawSuperDfs.getDeclaringTypeInfo().getOwnersType();
        if( !IGosuClass.ProxyUtil.isProxy( ownersType ) )
        {
          IType superOwner = TypeLord.findParameterizedType( owner, ownersType );
          if( superOwner == null )
          {
            superOwner = ownersType;
          }
          setSuperDfs( ((DynamicFunctionSymbol)rawSuperDfs).getParameterizedVersion( (IGosuClass)superOwner ) );
        }
      }
    }
docs: Assign the super dfs in terms of the deriving class's type parameters