/// <summary>
 /// Sets an Map property that is an IEnumerable for the mapping
 /// </summary>
 /// <typeparam name="DataType">Data type</typeparam>
 /// <param name="Expression">Expression pointing to the property</param>
 /// <returns>List Map property object</returns>
 public IAPIProperty <ClassType, IEnumerable <DataType> > MapList <DataType>(Expression <Func <ClassType, IEnumerable <DataType> > > Expression)
     where DataType : class, new()
 {
     return((IAPIProperty <ClassType, IEnumerable <DataType> >)Properties.AddAndReturn(new MapList <ClassType, DataType>(Expression)));
 }
 /// <summary>
 /// Sets a Reference property for the mapping
 /// </summary>
 /// <typeparam name="DataType">Data type</typeparam>
 /// <param name="Expression">Expression pointing to the property</param>
 /// <returns>Reference property object</returns>
 public IAPIProperty <ClassType, DataType> Reference <DataType>(Expression <Func <ClassType, DataType> > Expression)
 {
     return((IAPIProperty <ClassType, DataType>)Properties.AddAndReturn(new Reference <ClassType, DataType>(Expression)));
 }
 /// <summary>
 /// Sets an Map property for the mapping
 /// </summary>
 /// <typeparam name="DataType">Data type</typeparam>
 /// <param name="Expression">Expression pointing to the property</param>
 /// <returns>Map property object</returns>
 public IAPIProperty <ClassType, DataType> Map <DataType>(Expression <Func <ClassType, DataType> > Expression)
     where DataType : class, new()
 {
     return((IAPIProperty <ClassType, DataType>)Properties.AddAndReturn(new Map <ClassType, DataType>(Expression)));
 }