anchor.diff:    end
     else begin
       self := inherited initWithMonoInstance(mono_array_new(MZMonoRuntime.sharedInstance.domain, mono_class_from_mono_type(MZMonoRuntime.sharedInstance.getCoreType('System.Object').type), 0) as ^MonoObject);
  +  end;
  +end;
  +
  +//constructor MZArray withArray<T>(aArray: array of T);
  +//begin
  +  //if length(aArray) > 0 then begin
  +    //self := inherited initWithMonoInstance(mono_array_new(MZMonoRuntime.sharedInstance.domain, (aArray[0] as MZObject).getClass(), length(aArray)) as ^MonoObject);
  +    //for i: Integer := 0 to length(aArray)-1 do begin
  +      //var lInst := MZObject(aArray[i]):__instance;
  +      //elements[i] := lInst;
  +    //end;
  +  //end
  +  //else begin
  +    //self := inherited initWithMonoInstance(mono_array_new(MZMonoRuntime.sharedInstance.domain, mono_class_from_mono_type(MZMonoRuntime.sharedInstance.getCoreType('System.Object').type), 0) as ^MonoObject);
  +  //end;
  +//end;
  +
  +constructor MZArray withArray(aArray: array of String);
  +begin
  +  self := inherited initWithMonoInstance(mono_array_new(MZMonoRuntime.sharedInstance.domain, mono_class_from_mono_type(MZString.getType.type), length(aArray)) as ^MonoObject);
  +  for i: Integer := 0 to length(aArray)-1 do begin
  +    var lInst := MZString.MonoStringWithNSString(aArray[i]) as ^MonoObject;
  +    elements[i] := lInst;
     end;
   end;
   
  
positive.code:   fNSArray := aNSArray;
  end;
  
  constructor MZObjectList withMonoInstance(aInst: ^MonoObject) elementType(aType: &Class);
  begin
    self := inherited initWithMonoInstance(aInst);
  
negative.code:   public
      property &type: &Class := typeOf(MZObject);
      constructor withNSArray(aNSArray: NSArray);
      constructor withObject(aObject: id);
      constructor withMonoInstance(aInst: ^MonoObject) elementType(aType: &Class);
      method clear;
      property count: NSUInteger read get_count;
  