bool ReadInternal() { bool result = true; if (ProgressOutput != null) { ProgressOutput.WriteLine("Trying to read source listing {0}...", mSourceFile); } if (!File.Exists(mSourceFile)) { result = false; } else { using (var xml = new IO.XmlElementStream(mSourceFile, FA.Read, this)) { xml.InitializeAtRootElement(); EcfDefinition.Serialize(xml); } EcfDefinition.CullChunksPossiblyWithoutFileData((chunkIndex, chunk) => { if (VerboseOutput != null) { VerboseOutput.WriteLine("\t\tCulling chunk #{0} since it has no associated file data", chunkIndex); } }); } if (result == false) { if (ProgressOutput != null) { ProgressOutput.WriteLine("\tFailed!"); } } return(result); }