text:
Brett Lunger
Wilmington, Delaware, USA
Formula One World Championship career
Hesketh, Surtees, non-works March, non-works McLaren, Ensign
Last entry
Robert Brett Lunger (born November 14, 1945 in Wilmington, Delaware) is an American racecar driver and Vietnam War veteran.
Lunger was educated at the Holderness School, and Princeton University. He dropped out of Princeton after three years to enlist for service in Vietnam. He was a political science major.[1] At the time he was preparing a thesis on U.S. policy on Southeast Asia. The Gulf of Tonkin Incident refuted much of what Lunger contended in his writing.[2] A former US Marine lieutenant[3] who served in the Vietnam war, his racing career was mostly spent in privateer cars, paid for by his family wealth (Lunger was a scion of the DuPont family). He is also known for helping to rescue Niki Lauda from his burning Ferrari in 1976 at the Nürburgring.
Lunger was not raised a car enthusiast. He was brought up to enjoy baseball, hockey, and football. He became interested in auto racing when a friend took him to a race in 1965. By 1966 he was the "rich kid" of the Can-Am series. Between 1972 and 1973 he faced the top competition in European Formula Two, from the likes of Emerson Fittipaldi, Ronnie Peterson, and Jean-Pierre Jarier. His best finish was a 4th place at Mantorp Park in Sweden, for Space Racing, in their March-Ford BDA 722. The machinery he was in at this juncture did not allow him to do better. On a single weekend in Rouen, France, Lunger blew three Ford BDA engines.[2]
He married Jo, the daughter of Sir Leonard Crossland, former chairman of Ford of Britain and an executive with Lotus in 1975. Lunger used his wife's English thatched cottage as a base to court a ride with Formula One teams in 1975.[4]
1 Racing career synopsis
2 Sports Cars and Formula 5000
3 Formula One
3.1 1975 Hesketh
3.2 1976 Surtees
3.3 1977 - 1978 McLaren, Ensign
4 Post-race life
5 Racing record
5.1 Career highlights
5.2 Complete Formula One World Championship results
5.3 Complete European Formula Two Championship results
Racing career synopsis[edit]
He participated in 43 Formula One World Championship Grands Prix, debuting on August 17, 1975, without scoring any championship during his four seasons in Formula One.
Lunger's Formula One career started alongside James Hunt in the Hesketh team in 1975, followed by a season with Surtees in 1976. The 1976 British GP was probably the best race of his GP career, qualifying mid grid, he climbed through the field to challenge his team mate Alan Jones, and Lunger's fastest lap was bettered by only 5 drivers. For 1977, he started the season with a year-old March 761 run by Bob Sparshott and entered under the name of his sponsor, Chesterfield Racing, but switched to a McLaren M23 after three races. In 1978, he stayed with the McLaren M23 and also tried an M26, but now entered by Sparshott's racing outfit, BS Fabrications. After a one-off drive for Ensign at the end of the season, Lunger moved on to sports car racing.
Lunger is perhaps most renowned for being one of the drivers, along with Guy Edwards, Arturo Merzario and Harald Ertl, who saved Niki Lauda from his burning car during the 1976 German Grand Prix. Lunger described Lauda's accident which occurred on the 2nd lap. He went off at a speed of between 130 mph (210 km/h) and 140 mph (230 km/h). He had apparently crashed on exit, went through a couple of rows of catch fence, up a relatively steep bank, and back into the middle of the track, the Ferrari on fire.[citation needed] Lunger said that Edwards was able to get by Lauda's car to the left but Lunger was unable to avoid the wrecked Ferrari. He made contact about three quarters on because I was committed to a line and couldn't make it through the debris. Ertl followed, colliding with the Ferrari and knocking it into Lunger's Surtees. Lunger's fire extinguishers were set off by the collision which was fortunate and saved time in the rescue. Lunger got out of his Surtees which was tangled up with the Ferrari. The extinguishers going off had dampened the fire somewhat. Workers arrived and kept the fire down, eventually putting foam on the Ferrari. This enabled Lunger and Merzario to get close to the fire, although they could not free Lauda at first. Lauda was conscious, struggling to get free on his own. Again the fire flared up and kept the men back from the car's side. Lunger jumped on top of the Ferrari and grabbed Lauda by his shoulders. Merzario unbuckled the seatbelts and Lunger and Lauda tumbled out of the car as a portion of the cockpit broke apart. As Lauda and Lunger emerged corner workers put foam on them. They lay for a few seconds in the grass. The burning fuel was moving toward them so Lunger and Lauda walked 6 to 8 steps away from the fire.[5]
Sports Cars and Formula 5000[edit]
Lunger finished 8th in a McLaren Chevrolet in the 1966, 252-mile (406 km) Nassau Trophy race, in Nassau, Bahamas. He was only a few seconds behind Peter Gregg in a Porsche Carrera 6.[6] Lunger fielded a Lola T160 chassis in the 1968 Canadian American Challenge Cup (Can-Am). Others who drove Lola T160 cars were Swede Savage and Chuck Parsons.[7]
Following the stint in the US Marines and the rank of Captain in 1970, and competing in two SCCA National events, Lunger was among drivers in the 1971 L&M Grand Prix, at Lime Rock Park, who were competing for 2nd place in the 1971 SCCA L&M 5000 Continental Championship. Lunger started the race with a 103 degree fever having been diagnosed with mononucleosis the previous day. As race progressed he started to lose strength allowing Sam Posey to pass and moving Lunger to third in the championship. He was hospitalized after the race for several days.[citation needed] His first major win was that year at Brainerd International Raceway in the Minnesota Grand Prix. Lunger had 58 points prior to the event. Lunger came in 3rd overall in the overall standing, after David Hobbs had clinched the title with 99 points.[3] His home at the time was Pomona, California.[8][9]
In 1972 Lunger was 3rd again in the L&M Continental 5000 Championship, trailing Graham McRae and Sam Posey. He moved into 3rd place following a win at Road Atlanta in August, in the Road Atlanta Grand Prix. He followed this up with another win, this time in the Lime Rock Grand Prix.[10][11]
In 1971 and 1972, Lunger might have finished third again in 1973 had mechanical problems held him to just four finishes, and seventh overall. In addition to this, he completed in the European Formula Two Championship and Torneio Internacional de Formula 2 do Brasil.[9]
In March 1973, Lunger placed 2nd to Peter Gethin in the opening race of Rothman's Formula 5000 European Championship at Brands Hatch. He was in a Hogan Racing Lola.[12] In the April 1973 Formula 5000 race at Riverside International Raceway, Lunger finished 6th. He led the first 19 laps before a stuck throttle forced him to spin at turn 7. A 17-second pit stop to look for damage dropped him to 7th place.[13] Lunger was 3rd in a Lola Chevrolet at the L&M Watkins Glen Grand Prix, in June 1973. Jody Scheckter and Brian Redman came in ahead of him in the Formula 5000 race.[14] Lunger was 2nd in a Lola in a Formula 5000 race at Mount Pocono, Pennsylvania, in September 1973.[15] In between races in the US F5000, Lunger continued to race in the English-based Rothmans Championship, winning twice, at Snetterton and Mallory Park for Sid Taylor Racing in their Trojan T101.
Lunger drove for the Dan Gurney's Anglo American Racers team, in their Jorgensen Eagle 73A which debuted in Formula 5000 in 1974.[16] He started all seven races of the 1974 SCCA/USAC F5000 Championship, posting a second, third and a sixth place, ending the season fifth in the overall standings.[9] The Eagle marque was introduced in Formula 5000 in preparation for an entrance into Formula One in 1975.[17] Redman won the Mid-Ohio Formula 5000 race in Lexington, Ohio, in June 1974. Lunger placed 2nd, 1 minute and 14 seconds behind.[18] Lunger was 3rd in the Mosport International Raceway Formula 5000 race on June 16.[19]
In July 1974, Lunger piloted a BMW 3.0 CSL in the six hours of Watkins Glen and competed in a Trans Am race, sponsored by the Sports Car Club of America, with George Follmer.[20] Lunger started 8th and ran as high as 4th in the Can-Am Challenge Trophy race. He developed engine problems with 4 laps to go. Lunger said, We're not ready yet, but we're getting there.[21] Lunger won 2 heat races but crashed during the 1974 California Grand Prix at Ontario Motor Speedway. He was trying to pass a slower car and at the same time hold off eventual race winner, Mario Andretti. Lunger's Eagle Chevy collided with Mickey Rupp as they entered a turn at the end of the infield straight. Their cars spun in a cloud of dust 100 feet (30 m) off the race track. Lunger assisted rescue workers in pulling Rupp from his car.[22] Lunger and Follmer secured 2nd place in a turbocharged Porsche 935of Vasek Polak, in the 1977 six hours endurance race at Watkins Glen. They were more than 3.377 mile-lap behind the winning team of Jacky Ickx and Jochen Mass. The victors drove a factory Porsche 935 with a 150 horsepower (110 kW) advantage over the 20 other customer Porsches, which composed the field of 44 cars.[23]
Lunger teamed with Follmer and Derek Bell in a Vasek Polak entry in the Los Angeles Times 6-Hour Grand Prix of Endurance in April 1979.[24] The 3-man team placed 3rd, 6 laps behind in a Porsche 935/79. The car started in the 23rd row due to engine problems during qualifying that kept it from posting a time.[25]
Formula One[edit]
1975 Hesketh[edit]
Lunger joined the Hesketh Racing Formula One team in 1975 for the running of the 1975 Austrian Grand Prix. Aside from Mario Andretti and Mark Donohue, he was the only American driver on the elite circuit. At the age of 29 Lunger found himself without a car to drive for a major team. His friends bought him a ride with the team of Alexander Hesketh, 3rd Baron Hesketh for the remainder of the 1975 Formula One season.[26] Lunger's brother, Dave, and Rod Campbell, a veteran motor racing public relations man, formed a combine in late 1975 to promote a Formula One ride for Lunger.[1] In his debut Lunger started from the 9th row.[27] He finished 13th in his Hesketh-Ford.[28] In qualifying for the 1975 United States Grand Prix, Lunger wrecked his Hesketh, sustaining superficial damage to his car. He recovered to become one of 24 qualifiers for the 199.243-mile (320.651 km) race.[4] Lunger ran as high as 8th at Watkins Glen, before he retired. In the 1975 Italian Grand Prix he came in 10th.[1]
1976 Surtees[edit]
Lunger driving for Surtees at the 1976 British Grand Prix.
In 1976 Lunger moved to the Team Surtees. The corporation obtained sponsorship from Chesterfield, Rand Time Corporation, the Delaware Trust Company, and Champion Spark Plugs Company.[1] On the 1st day of qualifying for the 1976 United States Grand Prix West in Long Beach, California, Lunger averaged only 83.61 miles per hour (134.56 km/h). Driving a Surtees-Ford, he was in 21st position. He described the dilemma of negotiating the Long Beach race track, which incorporated 85 circuits from Ocean Boulevard downtown to a parking lot and to Shoreline Drive, not far from the RMS Queen Mary, and then back to Ocean Boulevard. This course is so narrow, it's like trying to drive a Sherman tank through a parking lot.[29] Lunger failed to make the field on the 2nd day of qualifying. Only 20 cars started due to the narrowness of the Long Beach circuit. Lunger's Surtees dropped a clutch in practice and was never correctly fixed.[30]
1977 - 1978 McLaren, Ensign[edit]
In January 1977 Lunger announced that he had signed with BS Fabrications, an English race team,[31] and manufacturer of race car components.[32] He fielded a McLaren M23, the same car driven by James Hunt when he won the 1976 Formula One World Championship.[31] In his first race of the season, Lunger finished 14th in the 1977 South African Grand Prix driving a March-Ford. The week prior to the race he lost a right rear wheel and crashed. It took his crew a week to rebuild the car from the ground up. During qualifying he drove three timed laps before his car blew an engine. This meant that Lunger started the race at the rear.[32] Lunger qualified his March on the 11th row, 21st starting position for the 1977 United States Grand Prix West.[33] He did not complete the race after he was in an accident on the 4th lap.[34] He drove a McLaren to a 19th-place finish in the 1977 German Grand Prix at Hockenheim.[35] Lunger qualified 17th in Zeltweg for the 1977 Austrian Grand Prix. He had a time of 1 minute, 41.40 seconds.[36] He placed 9th at Zandvoort in the 1977 Dutch Grand Prix. His McLaren was 2 laps behind winner Lauda.[37] Lunger was 10th, 2 laps down, at the 1977 United States Grand Prix.[38]
He was one lap off the pace and finished 19th at Buenos Aires in the 1978 Argentine Grand Prix.[39] Lunger's McLaren was 20th at Rio de Janeiro in the 1978 Brazilian Grand Prix[40] and was 11th at Johannesburg in the 1978 South African Grand Prix, in March.[41] Lunger started 24th, in last position, for the 1978 British Grand Prix at Brands Hatch. His qualifying time was 1:20.39.[42] He went on to score his career best F1 finish, 8th place, albeit, one lap behind winner Carlos Reutemann.[43] In the 1978 Austrian Grand Prix he finished 8th, 2 laps off the winning pace.[44][45] Lunger started an Ensign from 24th position in the 1978 United States Grand Prix. His time was 1:43.067.[46] He finished 13th.[47]
Lunger finished 4th in the non-championship 1978 BRDC International Trophy race at Silverstone. He was behind winner Keke Rosberg, 2nd place Emerson Fittipaldi, and Tony Trimmer. The $190,000 event was hampered by rain over its 117.28 miles (188.74 km).[48]
In many ways, Lunger was one of the very last privateers in Formula One, plying his trade in year-old machinery, prepared by small independent racing teams. He called time on F1, at the end of the 1978 season, and returned to US Sports Car racing.[45]
Post-race life[edit]
Lunger failed to find an acceptable ride in 1979. During his retirement from racing he worked as a journalist with CBS, covering Formula One races like the 1979 South African Grand Prix. He completed his degree at Princeton.[49]
Lunger also became an author of a workbook series centered around responsibility, and as a result, founded Responsibility Today.[50] The I Am Responsible Movement was Lunger's way of giving back to the community by drawing from his many successes and failures during his early life and racing career. Lunger continues to expand his organization by attending conferences and writing blog articles related to responsible decision making on Responsibility Today's website.[51]
He remains a very competitive individual, taking part in cycling competitions in his spare time, when not running a research and development business. He is also a pilot, and this work, long with his wife, includes the Angel Flight Network.[52][53]
Racing record[edit]
Career highlights[edit]
1971 L&M 5000 Continental Championship[54] 3rd Competition Research & Development Lola-Chevrolet T192
1972 L&M 5000 Continental Championship[55] 3rd Hogan Racing Lola-Chevrolet T300
European Championship for Formula 2 Drivers[56] 24th Peter Bloome Racing
Space Racing March-Ford BDA 722
1973 SCCA L&M Championship[57] 7th Hogan Racing Lola-Chevrolet T330
Rothmans F5000 Championship[58][59] 7th Hogan Racing
Sid Taylor Racing Lola-Chevrolet T330
Trojan-Chevrolet T101
European Championship for Formula 2 Drivers[60] 32nd Space Racing Chevron -Ford BDA B25
1974 SCCA/USAC Formula 5000 Championship[61] 5th All American Racers Eagle-Chevrolet 73A
1975 CASC Player's Challenge Series[62] 22nd Alan MacCall Racing TUI-Ford BDA BH2
1976 SCCA/USAC Formula 5000 Championship[63] 11th Hogan Racing Lola-Chevrolet T332
1978 Aurora AFX F1 Championship[64] 21st BS Fabrications McLaren-Cosworth M23
Complete Formula One World Championship results[edit]
(key)
Hesketh 308
Ford Cosworth DFV 3.0 V8
ARG BRA RSA ESP MON BEL SWE NED FRA GBR GER AUT
Team Surtees
Surtees TS19
BRA RSA
11 USW
DNQ ESP
DNQ BEL
Ret MON SWE
Ret AUT
10 NED ITA
14 CAN
Chesterfield Racing
ARG BRA RSA
Ret ESP
McLaren M23B
DNS SWE
DNQ GBR
13 GER
Ret USA
Liggett Group / B & S Fabrications
13 BRA
DNPQ BEL
DNQ SWE
DNQ FRA
Ret GBR
DNPQ AUT
Team Tissot Ensign
Ensign N177
Complete European Formula Two Championship results[edit]
(key) (Races in bold indicate pole position; races in italics indicate *fastest lap)
Peter Bloore Racing
Ford BDA
Space Racing
DNS HOC
Ret PAU PAL
DNQ HOC
Ret ROU
DNQ ÖST
DNQ IMO
DNQ MAN
4 PER SAL ALB HOC
MAL HOC THR NÜR PAU KIN NIV
8 HOC ROU
7 MNZ
Ret MAN KAR
9 PER SAL NOR ALB VAL
^ a b c d Lunger's Sputtering Career Revives According To Plan, The New York Times, April 11, 1976, p. 164.
^ a b Brett Lunger Story: From Rich Kid To Formula 5000 Driver, The New York Times, January 20, 1974, p. 213.
^ a b Cannon and Hobbs Head Field In L&M Grand Prix Tomorrow, The New York Times, September 5, 1971, p. S8.
^ a b Lunger Qualifies for Glen Race As Lauda Gains Pole Position, The New York Times, October 5, 1975, p. 226.
^ Ferrari 'Boycott' Is Ending In Dutch Grand Prix Today, The New York Times, August 29, 1976, p. 151.
^ Donohue, in Lola-Chevrolet Sunoco, Take 252-Mile Nassau Trophy Race, The New York Times, December 5, 1966, p. 86.
^ New Array of Cars to Appear in Can-Am Race Next Sunday, The New York Times, August 25, 1968, p. S14.
^ New Zealand Driver Victor In U.S. Debut, The New York Times, May 8, 1972, p. 52.
^ a b c "Brett Lunger". Myf5000.com. Retrieved 2014-05-21.
^ Big Foreign Entry Is Represented In L&M Continental 5000 Field, The New York Times, August 27, 1972, p. S12.
^ "Lime Rock, 4 Sep 1972 « US Formula 5000 «". Oldracingcars.com. Retrieved 2014-05-21.
^ Gethin Betters Lap Record In Formula 5000 Victory. New York Times, March 18, 1973, p. 219.
^ Redman Captures First L&M Race; Scheckter 2nd, The New York Times, April 30, 1973, p. 43.
^ Scheckter Slows Down to Win By Modest Margin, The New York Times, June 18, 1973, p. 39.
^ Scheckter Takes 3rd, Wins Title, The New York Times, September 4, 1973, p. 47.
^ Auto Racing Sponsors Awaiting Clear Track, The New York Times, January 6, 1974, p. 270.
^ Revved-Up Formula 5000 Ready To Hit High Gear, The New York Times, January 13, 1974, p. 220.
^ Redman, in Lola, Wins Formula 5000 Race, The New York Times, June 3, 1974, p. 42.
^ Hobbs Captures Race in Ontario, The New York Times, June 16, 1974, p. 212.
^ 1,1000 Race Miles Slated at Watkins Glen, The New York Times, July 10, 1974, p. 34.
^ Andretti Is Victor At Glen, The New York Times, July 15, 1974, p. 19.
^ Andretti 2nd To Redman On Coast, The New York Times, September 2, 1974, p. 11.
^ Ickx, Mass Win As Porsche Dominates At Glen, The New York Times, July 10, 1977, p. 161.
^ Barbour Goes For 1-2-3 Finish, Los Angeles Times, April 22, 1979, p. OC A1.
^ Whittingtons Win Times Race, Los Angeles Times, April 23, 1979, p. D1.
^ People In Sports, The New York Times, August 12, 1975, p. 24.
^ Lauda on Pole for Austrian Grand Prix, The New York Times, August 17, 1975, p. 187.
^ Brain Surgery for Driver, The New York Times, August 18, 1975, p. 17.
^ Depailler's Car Is Speediest, The New York Times, March 27, 1976, p. 46.
^ Regazzoni Takes Coast Race Pole, The New York Times, March 28, 1976, p. 175.
^ a b People In Sports, The New York Times, January 7, 1977, p. 16.
^ a b Lunger Hopes To Bolster Confidence At Long Beach, The New York Times, March 27, 1977, p. 175.
^ Hunt Still Savoring World Title; Lauda Has Pole Position For Grand Prix, Los Angeles Times, April 3, 1977, p. D1.
^ U.S. Grand Prix West, Los Angeles Times, April 4, 1977, p. D4.
^ Lauda Bests Scheckter In German Grand Prix, August 1, 1977, p. D4.
^ Auto Racing, Los Angeles Times, August 14, 1977, p. C8.
^ Hunt and Andretti Crash; Lauda Wins, Los Angeles Times, August 29, 1977, p. E7.
^ Andretti Rally Falls Short As Hunt Wins, Los Angeles Times, October 3, 1977, p. E7.
^ Andretti Wins Shortened Argentine Grand Prix, January 16, 1978, p. D14.
^ Reutemann Breezes To Formula One Win, Los Angeles Times, January 30th 1978, p. D3.
^ Peterson Wins South Africa Race on Last Turn of Last Lap, Los Angeles Times, March 5, 1978, p. C6.
^ Auto Racing Results, Los Angeles Times, July 16, 1978, p. D4.
^ Reutemann Edges Lauda In British Grand Prix, Los Angeles Times, July 17, 1978, p. G9.
^ Auto Racing, Los Angeles Times, August 14, 1978, p. F6.
^ a b "McLaren Formula 1 - Heritage - Brett Lunger". Mclaren.com. 1945-11-14. Retrieved 2014-05-21.
^ Formula One, Los Angeles Times, October 1, 1978, p. C21.
^ Auto Racing, Los Angeles Times, October 2, 1978, p. D11.
^ Rosberg Victor, The New York Times, March 20, 1978, p. C7.
^ In Grand Prix, Change Means No Change, The New York Times, April 1, 1979, p. S2.
^ "Responsibility Today - I Am Responsible Movement and Workbook Series". Responsibility Today. Retrieved 2017-02-27.
^ "Blog Archives - Responsibility Today". Responsibility Today. Retrieved 2017-02-27.
^ [1][dead link]
^ http://www.myf5000.com/files/71_p1.pdf
^ "Formula 2 1972 - Final Tables". Formula2.net. Archived from the original on 2017-02-02. Retrieved 2014-05-21.
^ "European Formula 5000 races « Formula 5000 «". Oldracingcars.com. Retrieved 2014-05-21.
^ "Formula 5000 Great Britain 1973 standings | Driver Database". Driverdb.com. Retrieved 2014-05-21.
^ "Formula 2 1973 - Championship Tables". Formula2.net. Retrieved 2014-05-21.
^ "Formula Atlantic Canada 1975 standings | Driver Database". Driverdb.com. Retrieved 2014-05-21.
^ "Formula 5000 - SCCA 1976 standings | Driver Database". Driverdb.com. Retrieved 2014-05-21.
^ "British F1 Series 1978 standings | Driver Database". Driverdb.com. Retrieved 2014-05-21.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Brett_Lunger&oldid=917365225"
Sportspeople from Wilmington, Delaware
Racing drivers from Delaware
American Formula One drivers
European Formula Two Championship drivers
Atlantic Championship drivers
Hesketh Formula One drivers
Surtees Formula One drivers
BS Fabrications Formula One drivers
Ensign Formula One drivers
British Formula One Championship drivers
Holderness School alumni
Articles with dead external links from May 2014
Pages using infobox F1 driver with unknown parameters


UPDATED: DANBURY, Conn. — A 22-year-old Danbury man was hospitalized after a serious car vs. tractor-trailer crash on Interstate 84 east just past Exit 8 in Danbury, according to WLAD-AM.
He rear-ended a tractor-trailer that was parked at the end of the on-ramp at about 5:30 a.m. Tuesday, closing the on-ramp and one lane of the highway, WLAD said.
The driver of the car had to be extricated by Danbury firefighters and was taken to Danbury Hospital with serious injuries, WLAD said.
Click here for the story at WLAD-AM.


text:
package com.vaadin.ui;

import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Stream;

import com.vaadin.data.HasValue;
import com.vaadin.event.selection.MultiSelectionListener;
import com.vaadin.shared.Registration;

/**
 * Multi selection component which allows to select and deselect multiple items.
 *
 * @author Vaadin Ltd
 *
 * @param <T>
 *            the type of the items to select
 *
 * @since 8.0
 *
 */
public interface MultiSelect<T> extends HasValue<Set<T>> {

    /**
     * Adds the given items to the set of currently selected items.
     *

     * By default this does not clear any previous selection. To do that, use
     * {@link #deselectAll()}.
     *

     * If the all the items were already selected, this is a NO-OP.
     *

     * This is a short-hand for {@link #updateSelection(Set, Set)} with nothing
     * to deselect.
     *
     * @param items
     *            to add to selection, not {@code null}
     */
    public default void select(T... items) {
        Objects.requireNonNull(items);
        Stream.of(items).forEach(Objects::requireNonNull);

        updateSelection(new LinkedHashSet<>(Arrays.asList(items)),
                Collections.emptySet());
    }

    /**
     * Removes the given items from the set of currently selected items.
     *

     * If the none of the items were selected, this is a NO-OP.
     *

     * This is a short-hand for {@link #updateSelection(Set, Set)} with nothing
     * to select.
     *
     * @param items
     *            to remove from selection, not {@code null}
     */
    public default void deselect(T... items) {
        Objects.requireNonNull(items);
        Stream.of(items).forEach(Objects::requireNonNull);

        updateSelection(Collections.emptySet(),
                new LinkedHashSet<>(Arrays.asList(items)));
    }

    /**
     * Updates the selection by adding and removing the given items from it.
     *

     * If all the added items were already selected and the removed items were
     * not selected, this is a NO-OP.
     *

     * Duplicate items (in both add & remove sets) are ignored.
     *
     * @param addedItems
     *            the items to add, not {@code null}
     * @param removedItems
     *            the items to remove, not {@code null}
     */
    public void updateSelection(Set<T> addedItems, Set<T> removedItems);

    /**
     * Returns an immutable set of the currently selected items. It is safe to
     * invoke other {@code SelectionModel} methods while iterating over the set.
     *

     * Implementation note: the iteration order of the items in the
     * returned set should be well-defined and documented by the implementing
     * class.
     *
     * @return the items in the current selection, not null
     */
    public Set<T> getSelectedItems();

    /**
     * Deselects all currently selected items.
     */
    public default void deselectAll() {
        getSelectedItems().forEach(this::deselect);
    }

    /**
     * Returns whether the given item is currently selected.
     *
     * @param item
     *            the item to check, not null
     * @return {@code true} if the item is selected, {@code false} otherwise
     */
    public default boolean isSelected(T item) {
        return getSelectedItems().contains(item);
    }

    /**
     * Adds a selection listener that will be called when the selection is
     * changed either by the user or programmatically.
     *
     * @param listener
     *            the value change listener, not {@code null}
     * @return a registration for the listener
     */
    public Registration addSelectionListener(
            MultiSelectionListener<T> listener);

    /**
     * MultiSelect empty value should always be an empty set by default and not
     * {@code null}.
     *
     * @return An empty set, not {@code null}
     */
    @Override
    public default Set<T> getEmptyValue() {
        return Collections.emptySet();
    }

}

redpajama_set_name: RedPajamaGithub