public InfoLayers(PsdBinaryReader reader, PsdFile psdFile, string key, long dataLength) : this(psdFile, key) { if (psdFile.Layers.Count > 0) { throw new PsdInvalidException( "Cannot have both regular layers and Additional Info layers"); } var endPosition = reader.BaseStream.Position + dataLength; psdFile.LoadLayers(reader, false); if (reader.BaseStream.Position != endPosition) { throw new PsdInvalidException( $"Incorrect length for {nameof(InfoLayers)}."); } }