private function readListFile(Project $p)
    {
        $listReader = null;
        try {
            // Get a FileReader
            $listReader = new BufferedReader(new FileReader($this->listfile));

            $line = $listReader->readLine();
            while ($line !== null) {
                if (!empty($line)) {
                    $line = $p->replaceProperties($line);
                    $this->filenames[] = trim($line);
                }
                $line = $listReader->readLine();
            }
        } catch (Exception $e) {
            if ($listReader) {
                $listReader->close();
            }
            throw new BuildException(
                "An error occurred while reading from list file " . $this->listfile->__toString() . ": " . $e->getMessage()
            );
        }

        $listReader->close();
    }