private void PopulateFromHeader()
 {
     this.header = dataSource.readInternalDataHeader();
     mapping     = new DataPointMapping[this.header.DataPoints.Length];
     for (int i = 0; i < this.header.DataPoints.Length; i++)
     {
         mapping[i]            = new DataPointMapping();
         mapping[i].name       = this.header.DataPoints[i].name;
         mapping[i].unit       = this.header.DataPoints[i].Units;
         mapping[i].position   = new Vector3(this.header.DataPoints[i].X, this.header.DataPoints[i].Y, this.header.DataPoints[i].Z);
         mapping[i].min        = this.header.DataPoints[i].Min;
         mapping[i].isMinFixed = this.header.DataPoints[i].isMinFixed;
         mapping[i].max        = this.header.DataPoints[i].Max;
         mapping[i].isMaxFixed = this.header.DataPoints[i].isMaxFixed;
     }
 }
 internal DataPoint(DataPointMapping mapping)
 {
     this.mapping  = mapping;
     this.minValue = mapping.min;
     this.maxValue = mapping.max;
 }