@Override
 public int FromByteArrayV1(byte[] BA, int Idx) throws IOException {
   Idx = super.FromByteArrayV1(BA, Idx);
   // .
   Idx = N0.FromByteArray(BA, Idx);
   Idx = N1.FromByteArray(BA, Idx);
   Idx = N2.FromByteArray(BA, Idx);
   Idx = N3.FromByteArray(BA, Idx);
   // .
   Width = TDataConverter.ConvertLEByteArrayToInt32(BA, Idx);
   Idx += 4;
   Height = TDataConverter.ConvertLEByteArrayToInt32(BA, Idx);
   Idx += 4;
   // .
   int DataSize = TDataConverter.ConvertLEByteArrayToInt32(BA, Idx);
   Idx += 4;
   int LC = DataSize / TLevelParams.Size;
   Levels = new TLevelParams[LC];
   for (int I = 0; I < LC; I++) {
     Levels[I] = new TLevelParams();
     Idx = Levels[I].FromByteArray(BA, Idx);
   }
   // .
   return Idx;
 }