record Book(String title, String author, int numPages, boolean isCopyrighted) { // Template for any book-processing function: /* ??? funcForBook( /*Book this// ) { ... this.title this.author this.numPages this.isCopyrighted } */ Book enbiggen( /* Book this */ ) { return new Book( this.title, this.author, 2*this.numPages, this.isCopyrighted ); } public static void main( String... args ) { Book cih = new Book("The Cat in the Hat", "Seuss", 37, true); System.out.println( cih.toString() ); assert cih.enbiggen().equals( new Book("The Cat in the Hat", "Seuss", 2*37, true) ); //deriveFrom( cih, ....) } }