I have been given trying to build a VARRAY of REFs and then populate it. I can create the varray, but then when I try to populate it with values, I cannot get the syntax right. I've searched all over the web for any examples, but can't find any. Here is my code:

create or replace type objCar as object(
LicenceNo number,
State varchar2(20),
Make varchar2(20),
Model varchar2(20),
MEMBER FUNCTION getLNo return number

create or replace type body objCar
MEMBER FUNCTION getLNo return number
RETURN LicenceNo;

create type VList as VARRAY(3) of REF objCar;

create table tblManager
EID number,
Name varchar2(20),
Dept varchar2(15),
companyCar VList

insert into tblManager values(12345, 'Mary Clark', 'Sales', NULL);
Insert into tblManager values(12346, 'Jerry Norris', 'Advertising', NULL);
insert into tblManager values(12347, 'Tom Peters', 'Accounting', NULL);
insert into tblManager values(12348, 'Bob Wilson', 'RND', NULL);

create or replace procedure addCar
(ID IN tblManager.EID%type, vLic number, vState varchar2, vMake varchar2, vModel varchar2)
CList Vlist;
NewC objCar;


NewC := objCar(vLic, vState, vMake, vModel);
select CompanyCar into CList from tblManager where EID = ID;
for i in CList.FIRST..CList.LAST loop
if CList(i) IS NULL then
CList(i) := REF(NewC);
end if;
end loop;
update tblManager set CompanyCar = CList where EID = ID;

I've tried populating the varray before I include it into my table,
when inserting values into my table
and in a stored procedure but none of these methods work.

It's the REF syntax that is puzzling me. I know how to work with straight Varrays or REFs, but a Varray of REFs has me stumped.

I always seem to generate this error:

PLS-00306: wrong number or types of arguments in call to 'REF'

or 'Missing right parenthesis'

Any help would be greatly appreciated!!