$generalAccountingDir->add($gaDir1); $gaFile1 = new File('gaFile1', 1024); $gaFile2 = new File('gaFile2', 512); $gaDir1->add($gaFile1); $gaDir1->add($gaFile2); $gaFile3 = new File('gaFile2', 1536); $generalAccountingDir->add($gaFile3); $hrDir1 = new Directory('hrDir1'); $humanResourcesDir->add($hrDir1); $enFile1 = new File('enFile1', 1024); $engineeringDir->add($enFile1); $enDir1 = new Directory('enDir1'); $engineeringDir->add($enDir1); $enFile2 = new File('enFile2', 1536); $enDir1->add($enFile2); $rootDir->printList(''); abstract class Entry { protected $name; protected $parent; public function getName() { return $this->name; } public abstract function getSize(); public function getParent() { return $this->parent; } public function setParent(Entry $entry) {