private T prepare <T>(object input)
{
IffChunk chunk = (IffChunk)input;
if (chunk.ChunkProcessed != true)
{
lock (chunk)
{
if (chunk.ChunkProcessed != true)
{
using (var stream = new MemoryStream(chunk.ChunkData))
{
chunk.Read(this,stream);
chunk.ChunkData = null;
chunk.ChunkProcessed = true;
}
}
}
}
return((T)input);
}