Can someone explain how list returns output from getOutputByBookType() method? Or main part with adding objects to books list?