public static Book newBook(String line) {
        
        
        Book b = new Book();
        
        // create new Scanner with : and whitespaces as delimiters
        Scanner sc = new Scanner(line).useDelimiter("\\s*:\\s*"); 
        
        sc.next(); // skip first token
       
        b._bookIndex = sc.nextInt();      
        b._bookTitle = sc.next();
        b._genre = sc.next();
        b._price = sc.nextDouble();
        b._authorIndex = sc.nextInt();
        
        // set default number of copies available if not specified in file
        if (!sc.hasNext()) {
            //q = new ArrayBlockingQueue<Integer>(DEFAULT_NUMBER_OF_COPIES);
            b._copiesAvailable = DEFAULT_NUMBER_OF_COPIES;
        } else {
            //q = new ArrayBlockingQueue<Integer>(sc.nextInt());
            b._copiesAvailable = sc.nextInt();
        }

        // create object
        return b = new Book(b._bookIndex, b._bookTitle, b._genre, b._price, 
                b._authorIndex, b._copiesAvailable);
    }