My name is Ruth, I'm a recent – how the time flies! – transplant to a small town in Iowa, having lived here for the past six nine years. I've been collecting dolls of all ages ever since I learned that a mere mortal could actually own these wonderful pieces of history, but my main passion is composition dolls from the 1920s and '30s.
My goal when I receive a well-loved doll is never to make them perfect or like new. For example, I don't own an airbrush. To me, completely airbrushing a doll would be like stripping and refinishing a fine antique piece of furniture. (I can hear those twin brothers on "Antiques Roadshow" throwing up their hands in horror.) When it comes to dolls, I would be their triplet.
When I repair them their history still shows. And when I make dresses for them, I use old fabrics and trims and even make little leather shoes to match. I make patterns myself for each little girl and use them only once, and I let the doll herself tell me what they want to wear. I've sold dolls under the names "adamsmom1" and "magic_elizabeth" on ebay and they did quite well.
Throughout my life I've frequently been told that I'd be a good writer. Why not combine two of my loves, writing and dolls? This series of books is all about restoring. Restoring love, restoring life, restoring dolls, and most of all, restoring the Magic of Childhood.
Hi, Ruth! I'm writing an article for my website about Sears houses in children's books and happened to stumble across your website. Can you please contact me through sears-homes.com ?
That Safari outfit is FABULOUS…Do you sell any outfits? I have several Anne Shirley's screaming for it…..
Greetings, Joy! I LOVE Anne Shirleys! If I were faster at sewing, you BET I would sell them! Unfortunately if I did, they'd cost a GAZILLION dollars, because I take so very long. However! You can go to my videos on YouTube (search Hazel Twigg), and I tell you how you can easily make clothes yourself – without having to buy any patterns! And I bet you'd be faster than ME.
You don't know me at all, but I have followed you faithfully and oohed and aahed over the wonderful work you have done with BEAUTIFUL O.L.D.S. for the longest time. Now, I'm worried, and I have been for some time.
Please tell me you are OK.


text:
You are at:Home»Blog»Events | The Best Los Angeles Things To Do In March
Events | The Best Los Angeles Things To Do In March
By Christina Xenos on	 February 24, 2015 Blog, LA, Los Angeles, Los Angeles Attractions, Los Angeles Entertainment, Los Angeles Events, Los Angeles Restaurants, Los Angeles Theater, Los Angeles Things To Do
Check Out The Best Los Angeles Things To Do In March
The cast of AMC's Mad Men at Paleyfest. photo Kevin Parry for Paley.
From foodie fests for all tastes and Chinese New Year celebrations to the L.A. Marathon, Paleyfest, world class theater and more; find the best Los Angeles things to do in March 2015 in our events roundup.
Edited by Christina Xenos
L.A. Chinatown Firecracker Festival and Run
Feb. 28-Mar. 1. Eight thousand athletes and 25,000 spectators are expected at the largest Lunar New Year charity run in the U.S. The run kicks off on March 1, with 100,000 red sparkling firecrackers as runners, walkers and cyclists will compete in various challenging activities, including a 5/10K Run/Walk, 20/30 Mile Bike Ride and a 1K Kiddie Run. Hit the festival for two days of live entertainment, a beer garden featuring Angel City Brewery beers and more. Chinatown, downtown. firecracker10k.org
Culina Five-Year Anniversary Menu
Feb. 28-Mar. 4. Michelin-starred Four Seasons Chef Vito Mollica of Il Palagio Ristorante at Four Seasons Hotel Firenze rings in Culina, Modern Italian's five-year anniversary by joining forces with Chef Mette Williams on a collaborative menu. Highlights of the five-course menu include sea bass and beef fillet carpaccio with bone marrow, sea urchin and citrus dressing; ravioli carbonara, prosciutto wrapped egg yolk, mascarpone and pancetta' seared sea bass in olive and tomato crust with white wine scented artichokes; and more. In addition to the tasting menu, Chef Mollica's à la carte specials will be offered alongside the everyday lunch and dinner menus at Culina. Dishes will include "antipasti" such as seared scallops with broccoli rabe coulis, "primi piatti," fresh pea risotto with burrata cheese and black truffle, and "secondi piatti," dry fig-stuffed quail with creamed celeriac and seared foie gras. Dessert will include items such as "Millefoglie," a crispy puff pastry with strawberries. Mollica's famed cavatelli pasta with cacio e pepe sauce, baby calamari and marinated prawns, named dish of the year by I Ristoranti d'Italia de l'Espresso (Italian Restaurants Guide) in 2013 will also be making an appearance as an à la carte special at dinner. $65/pp. 300 South Doheny Dr., L.A., 310.860.4000. culinarestaurant.com
Imagine Tea at The Langham
Mar. 1. This special children's event at the Langham Huntington, Pasadena pairs all the delicacies of high tea with a touch of magic. The experience features junior magicians from the famed Magic Castle performing close-up magic, while children dine on a specialty menu of magically decorated cookies, ham, turkey and PB&J sandwiches and whimsical desserts, all accompanied by pink lemonade, milk and a selection of fruit-infused, caffeine-free teas. Young tea guests will also have the opportunity to make their own magic during the tea, as they are invited to attend dressed as whichever character, person or animal most appeals to their imagination. Also happens Jun. 7, Sept. 13. $48/adults, $28/children four to 12. 10 a.m.-1:30 p.m. Reservations required. 1401 S. Oak Knoll Ave., Pasadena, 626.585.6218. pasadena.langhamhotels.com
Old Pasadena Happy Hour Week
Mar. 1-14. You've never been happier in Old Pasadena than during the first two weeks in March when more than 25 restaurants, bars and lounges offer extended happy hour specials daily. Specials include $1 award-winning sliders and $1 fries at Dog Haus Biergarten, as well as a $5 Beer of the Day (available all day, each day); Otis Bar at La Grande Orange Café offer $5 signature drinks; the Luggage Room slings $5 slushy cocktails; and more. Visit website for a detailed list of special and happy hour times. oldpasadena.org
Le Sirenuse at Shutters on the Beach
Mar. 4-11. Get a taste of the Amalfi Coast when the famed Le Sirenuse hotel takes up residency at Shutters on the Beach for an exclusive mash up of coastal cuisine and luxury style. In its second year, the week-long experience includes a battle of the coasts tasting menu from Le Sirenuse's Michelin-starred Chef Matteo Temperini and Shutters' Isaac Gamboa. Dine on delicacies from Temperini like marinated amberjack, broccoli flowers and beans and clam sauce, and fish soup with octopus, rockfish and tomato; and SoCal flavors from Gamboa like pan-seared calamari with cherry tomatoes, and mustard-marinated black cod with saffron risotto, sweet peppers and squid ink vinaigrette. Additionally, you can shop Co-owner Carla Sersale's curated collection of specially commissioned designed clothing, accessories, and home goods, chic swimwear, fragrances and scented soaps from Emporio Sirenuse in Shutters's The Cottage gift shop. One Pico Blvd., Santa Monica, 310.458.0030. shuttersonthebeach.com
PPLA Food Fare
Mar. 5. Thirty-sixth annual food event features more than 100 of the city's best restaurants, wineries and breweries and more. Taste offerings from venues including AOC, Drago Centro, the Tripel and Valerie Confections. Day session 11 a.m.-2 p.m.; evening session 6:30-9:30 p.m. $150-$250. Barker Hangar, 3021 Airport Ave., Santa Monica, 213.284.3300. pplafoodfare.com
Paleyfest
Mar. 6-15. The Paley Center for Media hosts this annual event with screenings and interactive panels featuring creators and stars from top TV shows including Homeland, Girls, Scandal and Jane the Virgin. Visit website for schedule. $30-$80. Dolby Theatre, 6801 Hollywood Blvd., Hollywood, 310.786.1000. paleyfest.org
All Star Chef Classic
Mar. 11-14. The four-day foodie event brings together some of the world's most celebrated chefs to cook in a "Restaurant Stadium" and "Chefs Tasting Arena" in downtown Los Angeles. Dazzle your taste buds during the "French Masters Dinner," "Grill & Chill" and "Cuisine for the Cure" events. LA Live, 800 W Olympic Blvd., downtown. allstarchefclassic.com
L.A. Marathon
Mar. 15. Thirtieth annual footrace begins at Dodger Stadium in Chavez Ravine and travels 26.2 miles to Santa Monica with entertainment and cheer stations along the way. Check lamarathon.com for schedule. Runner registration $190-$205. Finish line at Ocean and California avenues, Santa Monica, 213.542.3000. lamarathon.com
Mar. 17. This 42nd annual all-day street festival enlivens downtown Los Angeles with food (think: reubens and corned-beef sandwiches), games, Irish drink specials (green beer, anyone?) and sets from local DJs. Headquartered at Casey's Irish Pub, the street festival takes place in front of the pub. Festival 11 am-11 pm; pub hours 6 a.m.-2 a.m. Free general admission until 3:30 pm, $10 after 3:30 pm. 613 S. Grand Ave., downtown. 213nightlife.com
Theodore Payne Native Plant Garden Tour
Mar. 21-22. Explore the unexpectedly lush, beautiful side of Los Angeles during this weekend of self-guided tours of nearly 50 private and public landscapes across the county. Each garden contains at least 50 percent native plants. $35. 818.768.1802. nativeplantgardentour.org
Ciclavia—The Valley
Mar. 22. Several miles of L.A.'s normally congested streets turn into a car-free park for a walk and bike tour of the city's most celebrated attractions. The first Ciclavia of 2015 is also the event's first venture into the San Fernando Valley, with a route that extends between North Hollywood and Studio City, along Lankershim and Ventura boulevards. See ciclavia.org for additional route details. 9 am-4 pm. Free. 213.355.8500. ciclavia.org
TCM Classic Film Festival
Mar. 26-29. View beloved classic films on the big screen at iconic venues at this annual film festival. This year's theme—History According to Hollywood—explores how cinema has shaped the way audiences remember history. Choose from a wide range of movies from Roman Holiday to Pinocchio to Apollo 13. Opening night gala 50th anniversary screening of The Sound of Music with Julie Andrews and Christopher Plummer in attendance is by invitation only. Check filmfestival.tcm.com for film schedule. Individual tickets $20-$30. Festival passes $299-$1,649. Hollywood Roosevelt Hotel, 7000 Hollywood Blvd., Hollywood, 323.856.1970; TCL Chinese 6 Theatres, 6801 Hollywood Blvd., Hollywood, 323.464.8111; Egyptian Theatre, 6712 Hollywood Blvd., Hollywood, 323.466.3456; TCL Chinese Theatre, 6925 Hollywood Blvd., Hollywood, 323.461.3331. filmfestival.tcm.com
Opening Mar. 6. This new psychological thriller from playwright Joanna Murray-Smith makes its co-world premiere here with Sydney Theatre Company. Laura Linney stars as novelist Patricia Highsmith, whose career gets upended by a mysterious, handsome young man. Audrey Skirball Kenis Theater, Geffen Playhouse, 10886 Le Conte Ave., Westwood, 310.208.5454. geffenplayhouse.com
Potted Potter: The Unauthorized Harry Experience—A Parody by Dan and Jeff
Through Mar. 1. Potter aficionados and the most mundane of muggles alike should enjoy this madcap marathon of all seven Harry Potter tales—complete with a game of Quidditch—condensed into one 70-minute play. Wallis Annenberg Center for the Performing Arts, 9390 N. Santa Monica Blvd., Beverly Hills, 310.746.4000. thewallis.org
Through Mar. 1. Theater troupe Culture Clash—Richard Montoya, Ric Salinas and Herbert Siguenza—revisits its beloved play, Chavez Ravine, 12 years after its world premiere in L.A., with new insights into the ever-changing landscape of the City of Angels. Kirk Douglas Theatre, 9820 Washington Blvd., Culver City, 213.628.2772. centertheatregroup.org
The Night Alive
Through Mar. 13. Acclaimed Irish playwright—and three-time Tony nominee—Conor McPherson casts a beautiful spell with his new play about a group of down-on-their-luck lost souls, imbued with his signature humor and humanity. Gil Cates Theater, Geffen Playhouse, 10886 Le Conte Ave., Westwood, 310.208.5454. geffenplayhouse.com
Through Mar. 15. The award-winning theater phenomenon returns to L.A. with three months of performances. Learn the untold story of the witches of Oz, the "wicked" Elphaba and good witch Glinda, in this smash-hit prequel to The Wizard of Oz. Pantages Theatre, 6233 Hollywood Blvd., Hollywood, 323.468.1770. hollywoodpantages.com
Dame Edna's Glorious Goodbye
Through Mar. 15. Australian entertainer Barry Humphries takes his hilarious and satirical alter ego, Dame Edna, for one last spin—he created the character back in 1956—during this critically acclaimed farewell tour. Ahmanson Theatre, 135 N. Grand Ave., downtown, 213.628.2772. centertheatregroup.org
Through Mar. 15. Get ready for a night of mind-blowing illusions and mystifying slight-of-hand; Smoke and Mirrors is the semi-autobiographical, fantastical story of Albie Selznick and his journey to become a Master Magician. After suffering a formidable tragedy, Albie uses magic to misdirect his grief but discovers himself by facing his fears with the aid of a life-sized white rabbit, The Oracle and Harry Houdini's wife, Bess. Through a myriad of adventures, magic takes on a variety of meanings both in spirit and spectacle. $34. Odyssey Theatre, 2055 S. Sepulveda Blvd., L.A., 310.477.2055 ext. 2. smokeandmirrorsmagic.com

redpajama_set_name: RedPajamaCommonCrawl


If I were to donate funds, how will my money be used?
We have a responsibility to our community and our donors and work incredibly hard to ensure WCFJC's long-term sustainability. Our IRS Form 990 is available for review, as required by law. When you make a donation to WCFJC, you are able to either: a) designate your donation towards a specific purpose or activity, or b) give WCFJC permission to use your donation where we need it most. Visit our Financials page to learn more.


text:
package org.arakhne.afc.gis.road;

import java.lang.ref.SoftReference;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.URI;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.UUID;

import com.google.common.collect.Iterables;
import com.google.common.collect.Iterators;
import org.eclipse.xtext.xbase.lib.Pure;

import org.arakhne.afc.attrs.attr.Attribute;
import org.arakhne.afc.attrs.attr.AttributeException;
import org.arakhne.afc.attrs.attr.AttributeType;
import org.arakhne.afc.attrs.attr.AttributeValue;
import org.arakhne.afc.attrs.collection.AttributeChangeListener;
import org.arakhne.afc.attrs.collection.AttributeProvider;
import org.arakhne.afc.gis.location.GeoId;
import org.arakhne.afc.gis.location.GeoLocation;
import org.arakhne.afc.gis.road.path.RoadPath;
import org.arakhne.afc.gis.road.primitive.AbstractWrapRoadConnection;
import org.arakhne.afc.gis.road.primitive.RoadConnection;
import org.arakhne.afc.gis.road.primitive.RoadNetwork;
import org.arakhne.afc.gis.road.primitive.RoadNetworkConstants;
import org.arakhne.afc.gis.road.primitive.RoadSegment;
import org.arakhne.afc.gis.road.primitive.RoadSegmentContainer;
import org.arakhne.afc.gis.road.primitive.RoadType;
import org.arakhne.afc.gis.road.primitive.TrafficDirection;
import org.arakhne.afc.gis.tree.WeakGISTreeSet;
import org.arakhne.afc.math.geometry.coordinatesystem.CoordinateSystem2D;
import org.arakhne.afc.math.geometry.d1.Direction1D;
import org.arakhne.afc.math.geometry.d1.Segment1D;
import org.arakhne.afc.math.geometry.d1.d.Point1d;
import org.arakhne.afc.math.geometry.d2.Point2D;
import org.arakhne.afc.math.geometry.d2.Shape2D;
import org.arakhne.afc.math.geometry.d2.Vector2D;
import org.arakhne.afc.math.geometry.d2.afp.Rectangle2afp;
import org.arakhne.afc.math.geometry.d2.d.Path2d;
import org.arakhne.afc.math.geometry.d2.d.Point2d;
import org.arakhne.afc.math.geometry.d2.d.Rectangle2d;
import org.arakhne.afc.math.geometry.d2.d.Vector2d;
import org.arakhne.afc.math.graph.DynamicDepthUpdater;
import org.arakhne.afc.math.graph.GraphIterator;
import org.arakhne.afc.math.graph.GraphPoint.GraphPointConnection;
import org.arakhne.afc.math.graph.SubGraph;
import org.arakhne.afc.vmutil.json.JsonBuffer;

/**
 * This class describes a road network sub graph.
 *
 * <p>This function wrap the segments and the connection points
 * to avoid to go thru the rest of the graph.
 *
 * @author $Author: sgalland$
 * @version $FullVersion$
 * @mavengroupid $GroupId$
 * @mavenartifactid $ArtifactId$
 * @since 14.0
 */
public class SubRoadNetwork extends SubGraph<RoadSegment, RoadConnection, RoadPath> implements RoadSegmentContainer {

	private UUID id;

	/** Constructor.
	 */
	public SubRoadNetwork() {
		this(null);
	}

	/** Constructor.
	 * @param id the identifier of the network.
	 * @since 4.0
	 */
	public SubRoadNetwork(UUID id) {
		super(
				new WeakGISTreeSet<>(),
				0,
				RoadSegmentIterationComparator.ORIENTED_SEGMENT_SINGLETON,
				RoadSegmentIterationComparator.NOT_ORIENTED_SEGMENT_SINGLETON);
		this.id = id;
	}

	/** Replies the identifier of the network.
	 *
	 * @return the identifier.
	 */
	@Pure
	public UUID getUUID() {
		if (this.id == null) {
			this.id = UUID.randomUUID();
		}
		return this.id;
	}

	/** Replies the parent road network.
	 *
	 * @return the parent road network.
	 */
	@Pure
	protected final RoadSegmentContainer getParentRoadNetwork() {
		return (RoadSegmentContainer) getParentGraph();
	}

	@Override
	@Pure
	protected RoadSegment wrapSegment(RoadSegment segment) {
		assert segment != null;
		if (segment instanceof WrapSegment) {
			return segment;
		}

		final RoadSegment uwSegment = unwrap(segment);

		RoadConnection con;

		con = uwSegment.getBeginPoint();
		final TerminalConnection start = isTerminalPoint(con) ? new TerminalConnection(con, uwSegment, true) : null;

		con = uwSegment.getEndPoint();
		final TerminalConnection end = isTerminalPoint(con) ? new TerminalConnection(con, uwSegment, false) : null;

		return new WrapSegment(uwSegment, start, end);
	}

	@Override
	@Pure
	protected RoadConnection wrapPoint(RoadConnection point, RoadSegment segment, boolean isTerminal) {
		assert point != null;
		if (isTerminal) {
			assert segment != null;
			return new TerminalConnection(point, segment, segment.getBeginPoint().equals(point));
		}
		return point;
	}

	/** Wrap the given connection.
	 *
	 * @param point the connection to wrap.
	 * @return the wrapper.
	 * @since 16.0
	 */
	@Pure
	protected RoadConnection wrapPoint(RoadConnection point) {
		assert point != null;
		if (point instanceof AbstractWrapConnection) {
			return point;
		}
		return new WrapConnection(point.getWrappedRoadConnection());
	}

	/** Wrap the given graph point connection.
	 *
	 * @param connection the graph point connection to wrap.
	 * @return the wrapper.
	 * @since 16.0
	 */
	@Pure
	protected GraphPointConnection<RoadConnection, RoadSegment> wrapGraphPointConnection(
			GraphPointConnection<RoadConnection, RoadSegment> connection) {
		assert connection != null;
		if (connection instanceof WrapGraphPointConnection) {
			return connection;
		}
		return new WrapGraphPointConnection(connection);
	}

	/** Unwrap a connection.
	 *
	 * @param <O> the type of the object to unwrap.
	 * @param obj the object to unwrap.
	 * @return the unwrapped segment
	 */
	@SuppressWarnings({ "unchecked", "static-method" })
	@Pure
	protected final <O> O unwrap(O obj) {
		O unwrapped = obj;
		if (obj instanceof TerminalConnection) {
			unwrapped = (O) ((TerminalConnection) obj).getWrappedRoadConnection();
		} else if (obj instanceof WrapSegment) {
			unwrapped = (O) ((WrapSegment) obj).getWrappedRoadSegment();
		}
		assert unwrapped != null;
		return unwrapped;
	}

	@Override
	@Pure
	public boolean contains(RoadSegment segment) {
		return getGraphSegments().contains(segment);
	}

	@Override
	@Pure
	public RoadSegment getRoadSegment(GeoId geoId) {
		final RoadSegment original = ((WeakGISTreeSet<RoadSegment>) getGraphSegments()).get(geoId);
		if (original == null) {
			return null;
		}
		return wrapSegment(original);
	}

	@Override
	@Pure
	public RoadSegment getRoadSegment(GeoLocation location) {
		final RoadSegment original = ((WeakGISTreeSet<RoadSegment>) getGraphSegments()).get(location);
		if (original == null) {
			return null;
		}
		return wrapSegment(original);
	}

	@Override
	@Pure
	public Iterator<? extends RoadSegment> iterator(Rectangle2afp<?, ?, ?, ?, ?, ?> bounds) {
		return new WrapSegmentIterator(((WeakGISTreeSet<RoadSegment>) getGraphSegments()).iterator(bounds));
	}

	@Override
	@Pure
	public Iterator<? extends RoadSegment> iterator(Rectangle2afp<?, ?, ?, ?, ?, ?> bounds, int budget) {
		return new WrapSegmentIterator(((WeakGISTreeSet<RoadSegment>) getGraphSegments()).iterator(bounds, budget));
	}

	@Override
	@Pure
	public Iterable<? extends RoadSegment> toIterable(Rectangle2afp<?, ?, ?, ?, ?, ?> bounds) {
		return new WrapSegmentIterable(((WeakGISTreeSet<RoadSegment>) getGraphSegments()).toIterable(bounds));
	}

	@Override
	@Pure
	public Iterable<? extends RoadSegment> toIterable(Rectangle2afp<?, ?, ?, ?, ?, ?> bounds, int budget) {
		return new WrapSegmentIterable(((WeakGISTreeSet<RoadSegment>) getGraphSegments()).toIterable(bounds, budget));
	}

	@Override
	@Pure
	public boolean isLeftSidedTrafficDirection() {
		return getParentRoadNetwork().isLeftSidedTrafficDirection();
	}

	@Override
	@Pure
	public boolean isRightSidedTrafficDirection() {
		return getParentRoadNetwork().isRightSidedTrafficDirection();
	}

	/** Internal connection.
	 * @author $Author: sgalland$
	 * @version $FullVersion$
	 * @mavengroupid $GroupId$
	 * @mavenartifactid $ArtifactId$
	 * @since 16.0
	 */
	abstract class AbstractWrapConnection extends AbstractWrapRoadConnection {

		/** Constructor.
		 * @param connection the wrapped connection.
		 */
		AbstractWrapConnection(RoadConnection connection) {
			super(connection);
		}

		@Override
		@Pure
		public RoadSegment getOtherSideSegment(RoadSegment refSegment) {
			return wrapSegment(this.connection.get().getOtherSideSegment(unwrap(refSegment)));
		}

		@Override
		@Pure
		public String toString() {
			return "WRAPPED//" + this.connection.get().toString(); //$NON-NLS-1$
		}

	}

	/** Internal connection.
	 * @author $Author: sgalland$
	 * @version $FullVersion$
	 * @mavengroupid $GroupId$
	 * @mavenartifactid $ArtifactId$
	 * @since 14.0
	 */
	class TerminalConnection extends AbstractWrapConnection implements GraphPointConnection<RoadConnection, RoadSegment> {

		private final SoftReference<RoadSegment> segment;

		private final boolean connectedToStart;

		/** Constructor.
		 * @param connection the wrapped connection.
		 * @param segment the segment.
		 * @param connectedToStart indicates if the segment is connected to its start.
		 */
		TerminalConnection(RoadConnection connection, RoadSegment segment, boolean connectedToStart) {
			super(connection);
			assert segment != null;
			this.segment = new SoftReference<>(unwrap(segment));
			this.connectedToStart = connectedToStart;
		}

		private RoadSegment wrapConnectedSegment() {
			final TerminalConnection start = this.connectedToStart ? this : null;
			final TerminalConnection end = this.connectedToStart ? null : this;
			return new WrapSegment(this.segment.get(), start, end);
		}

		@Override
		@Pure
		public final RoadSegment getConnectedSegment(int index)
				throws ArrayIndexOutOfBoundsException {
			return wrapSegment(this.segment.get());
		}

		@Override
		@Pure
		public final int getConnectedSegmentCount() {
			return 1;
		}

		@Override
		@Pure
		public final List<RoadSegment> getConnectedSegments() {
			return Collections.singletonList(wrapSegment(this.segment.get()));
		}

		@Override
		@Pure
		public final List<RoadSegment> getConnectedSegmentsStartingFrom(RoadSegment startingSegment) {
			final RoadSegment sgmt = this.segment.get();
			assert startingSegment != null && startingSegment.equals(sgmt);
			return Collections.singletonList(wrapSegment(sgmt));
		}

		@Override
		public Iterable<RoadSegment> getConnectedSegmentsStartingFromInReverseOrder(RoadSegment startingSegment) {
			final RoadSegment sgmt = this.segment.get();
			assert startingSegment != null && startingSegment.equals(sgmt);
			return Collections.singletonList(wrapSegment(sgmt));
		}

		@Override
		@Pure
		public final RoadSegment getOtherSideSegment(RoadSegment ref_segment) {
			return null;
		}

		@Override
		@Pure
		public final boolean isConnectedSegment(RoadSegment sgmt) {
			return this.segment.get().equals(unwrap(sgmt));
		}

		@Override
		@Pure
		public final boolean isFinalConnectionPoint() {
			return true;
		}

		@SuppressWarnings("checkstyle:booleanexpressioncomplexity")
		private boolean isValidSegment(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart,
				ClockwiseBoundType boundType) {
			final RoadSegment sgmt = this.segment.get();
			return (sgmt.equals(unwrap(startSegment)) && boundType.includeStart()
					&& (startSegmentConnectedByItsStart == null
					|| startSegmentConnectedByItsStart.booleanValue() == this.connectedToStart))
					||
					(sgmt.equals(unwrap(endSegment)) && boundType.includeEnd()
							&& (endSegmentConnectedByItsStart == null
							|| endSegmentConnectedByItsStart.booleanValue() == this.connectedToStart));
		}

		private Iterator<RoadSegment> makeIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart,
				ClockwiseBoundType boundType) {
			return isValidSegment(startSegment, startSegmentConnectedByItsStart, endSegment,
					endSegmentConnectedByItsStart, boundType)
					? Iterators.singletonIterator(wrapConnectedSegment()) : Collections.<RoadSegment>emptyIterator();
		}

		@Override
		@Pure
		public Iterable<? extends GraphPointConnection<RoadConnection, RoadSegment>> getConnections() {
			return Collections.singleton(this);
		}

		@Override
		@Pure
		public Iterable<? extends GraphPointConnection<RoadConnection, RoadSegment>> getConnectionsStartingFrom(
				RoadSegment startingPoint) {
			final RoadSegment sgmt = this.segment.get();
			if (sgmt.equals(unwrap(startingPoint))) {
				return Collections.singleton(this);
			}
			return Collections.<GraphPointConnection<RoadConnection, RoadSegment>>emptyList();
		}

		@Override
		@Pure
		public Iterable<? extends GraphPointConnection<RoadConnection, RoadSegment>> getConnectionsStartingFromInReverseOrder(
				RoadSegment startingPoint) {
			final RoadSegment sgmt = this.segment.get();
			if (sgmt.equals(unwrap(startingPoint))) {
				return Collections.singleton(this);
			}
			return Collections.<GraphPointConnection<RoadConnection, RoadSegment>>emptyList();
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment) {
			return makeIterator(
					startSegment, null,
					null, null,
					DEFAULT_CLOCKWHISE_TYPE);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart) {
			return makeIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart,
					DEFAULT_CLOCKWHISE_TYPE);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment,
				ClockwiseBoundType boundType) {
			return makeIterator(
					startSegment, null,
					endSegment, null,
					boundType);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart,
				ClockwiseBoundType boundType) {
			return makeIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart,
					boundType);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment) {
			return makeIterator(
					startSegment, null,
					null, null,
					DEFAULT_CLOCKWHISE_TYPE);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment, ClockwiseBoundType boundType) {
			return makeIterator(
					startSegment, null,
					null, null,
					boundType);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment,
				CoordinateSystem2D system) {
			return makeIterator(
					startSegment, null,
					endSegment, null,
					DEFAULT_CLOCKWHISE_TYPE);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart,
				CoordinateSystem2D system) {
			return makeIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart,
					DEFAULT_CLOCKWHISE_TYPE);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment,
				ClockwiseBoundType boundType, CoordinateSystem2D system) {
			return makeIterator(
					startSegment, null,
					endSegment, null,
					DEFAULT_CLOCKWHISE_TYPE);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart,
				ClockwiseBoundType boundType, CoordinateSystem2D system) {
			return makeIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart,
					boundType);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment, CoordinateSystem2D system) {
			return makeIterator(
					startSegment, null,
					null, null,
					DEFAULT_CLOCKWHISE_TYPE);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment, ClockwiseBoundType boundType,
				CoordinateSystem2D system) {
			return makeIterator(
					startSegment, null,
					null, null,
					boundType);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment) {
			return makeIterator(
					startSegment, null,
					endSegment, null,
					DEFAULT_CLOCKWHISE_TYPE);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart) {
			return makeIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart,
					DEFAULT_CLOCKWHISE_TYPE);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment,
				ClockwiseBoundType boundType) {
			return makeIterator(
					startSegment, null,
					endSegment, null,
					boundType);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart,
				ClockwiseBoundType boundType) {
			return makeIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart,
					boundType);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment) {
			return makeIterator(
					startSegment, null,
					null, null,
					DEFAULT_CLOCKWHISE_TYPE);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment, ClockwiseBoundType boundType) {
			return makeIterator(
					startSegment, null,
					null, null,
					boundType);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment,
				CoordinateSystem2D system) {
			return makeIterator(
					startSegment, null,
					endSegment, null,
					DEFAULT_CLOCKWHISE_TYPE);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart,
				CoordinateSystem2D system) {
			return makeIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart,
					DEFAULT_CLOCKWHISE_TYPE);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment,
				ClockwiseBoundType boundType, CoordinateSystem2D system) {
			return makeIterator(
					startSegment, null,
					endSegment, null,
					boundType);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart,
				ClockwiseBoundType boundType, CoordinateSystem2D system) {
			return makeIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart,
					boundType);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment, CoordinateSystem2D system) {
			return makeIterator(
					startSegment, null,
					null, null,
					DEFAULT_CLOCKWHISE_TYPE);
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment, ClockwiseBoundType boundType,
				CoordinateSystem2D system) {
			return makeIterator(
					startSegment, null,
					null, null,
					boundType);
		}

		@Override
		@Pure
		public String toString() {
			return "TERMINAL//" + this.connection.get().toString(); //$NON-NLS-1$
		}

		@Override
		@Pure
		public RoadConnection getGraphPoint() {
			return this;
		}

		@Override
		@Pure
		public RoadSegment getGraphSegment() {
			return wrapConnectedSegment();
		}

		@Override
		@Pure
		public boolean isSegmentStartConnected() {
			return this.connectedToStart;
		}

	}

	/** Internal connection.
	 * @author $Author: sgalland$
	 * @version $FullVersion$
	 * @mavengroupid $GroupId$
	 * @mavenartifactid $ArtifactId$
	 * @since 16.0
	 */
	class WrapConnection extends AbstractWrapConnection {

		/** Constructor.
		 * @param connection the wrapped connection.
		 */
		WrapConnection(RoadConnection connection) {
			super(connection);
		}

		@Override
		@Pure
		public final RoadSegment getConnectedSegment(int index)
				throws ArrayIndexOutOfBoundsException {
			return wrapSegment(this.connection.get().getConnectedSegment(index));
		}

		@Override
		@Pure
		public final int getConnectedSegmentCount() {
			return this.connection.get().getConnectedSegmentCount();
		}

		@Override
		@Pure
		public final Iterable<RoadSegment> getConnectedSegments() {
			return Iterables.transform(this.connection.get().getConnectedSegments(), it -> wrapSegment(it));
		}

		@Override
		@Pure
		public final Iterable<RoadSegment> getConnectedSegmentsStartingFrom(RoadSegment startingSegment) {
			return Iterables.transform(this.connection.get().getConnectedSegmentsStartingFrom(startingSegment),
				it -> wrapSegment(it));
		}

		@Override
		public Iterable<RoadSegment> getConnectedSegmentsStartingFromInReverseOrder(RoadSegment startingSegment) {
			return Iterables.transform(this.connection.get().getConnectedSegmentsStartingFromInReverseOrder(startingSegment),
				it -> wrapSegment(it));
		}

		@Override
		@Pure
		public final boolean isConnectedSegment(RoadSegment sgmt) {
			return this.connection.get().isConnectedSegment(unwrap(sgmt));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment) {
			return new WrapSegmentIterator(this.connection.get().toClockwiseIterator(startSegment, endSegment));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart) {
			return new WrapSegmentIterator(this.connection.get().toClockwiseIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment,
				ClockwiseBoundType boundType) {
			return new WrapSegmentIterator(this.connection.get().toClockwiseIterator(
					startSegment, endSegment, boundType));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart,
				ClockwiseBoundType boundType) {
			return new WrapSegmentIterator(this.connection.get().toClockwiseIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart,
					boundType));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment) {
			return new WrapSegmentIterator(this.connection.get().toClockwiseIterator(startSegment));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment, ClockwiseBoundType boundType) {
			return new WrapSegmentIterator(this.connection.get().toClockwiseIterator(startSegment, boundType));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment,
				CoordinateSystem2D system) {
			return new WrapSegmentIterator(this.connection.get().toClockwiseIterator(
					startSegment, endSegment, system));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart,
				CoordinateSystem2D system) {
			return new WrapSegmentIterator(this.connection.get().toClockwiseIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart,
					system));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment,
				ClockwiseBoundType boundType, CoordinateSystem2D system) {
			return new WrapSegmentIterator(this.connection.get().toClockwiseIterator(
					startSegment, endSegment,
					boundType, system));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart,
				ClockwiseBoundType boundType, CoordinateSystem2D system) {
			return new WrapSegmentIterator(this.connection.get().toClockwiseIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart,
					boundType, system));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment, CoordinateSystem2D system) {
			return new WrapSegmentIterator(this.connection.get().toClockwiseIterator(startSegment, system));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toClockwiseIterator(
				RoadSegment startSegment, ClockwiseBoundType boundType,
				CoordinateSystem2D system) {
			return new WrapSegmentIterator(this.connection.get().toClockwiseIterator(
					startSegment, boundType, system));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment) {
			return new WrapSegmentIterator(this.connection.get().toCounterclockwiseIterator(startSegment, endSegment));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart) {
			return new WrapSegmentIterator(this.connection.get().toCounterclockwiseIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment,
				ClockwiseBoundType boundType) {
			return new WrapSegmentIterator(this.connection.get().toCounterclockwiseIterator(
					startSegment, endSegment, boundType));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart,
				ClockwiseBoundType boundType) {
			return new WrapSegmentIterator(this.connection.get().toCounterclockwiseIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart,
					boundType));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment) {
			return new WrapSegmentIterator(this.connection.get().toCounterclockwiseIterator(startSegment));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment, ClockwiseBoundType boundType) {
			return new WrapSegmentIterator(this.connection.get().toCounterclockwiseIterator(startSegment, boundType));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment,
				CoordinateSystem2D system) {
			return new WrapSegmentIterator(this.connection.get().toCounterclockwiseIterator(
					startSegment, endSegment, system));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart,
				CoordinateSystem2D system) {
			return new WrapSegmentIterator(this.connection.get().toCounterclockwiseIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart,
					system));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment, RoadSegment endSegment,
				ClockwiseBoundType boundType, CoordinateSystem2D system) {
			return new WrapSegmentIterator(this.connection.get().toCounterclockwiseIterator(
					startSegment, endSegment,
					boundType, system));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment,
				Boolean startSegmentConnectedByItsStart,
				RoadSegment endSegment, Boolean endSegmentConnectedByItsStart,
				ClockwiseBoundType boundType, CoordinateSystem2D system) {
			return new WrapSegmentIterator(this.connection.get().toCounterclockwiseIterator(
					startSegment, startSegmentConnectedByItsStart,
					endSegment, endSegmentConnectedByItsStart,
					boundType, system));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment, CoordinateSystem2D system) {
			return new WrapSegmentIterator(this.connection.get().toCounterclockwiseIterator(startSegment, system));
		}

		@Override
		@Pure
		public final Iterator<RoadSegment> toCounterclockwiseIterator(
				RoadSegment startSegment, ClockwiseBoundType boundType,
				CoordinateSystem2D system) {
			return new WrapSegmentIterator(this.connection.get().toCounterclockwiseIterator(
					startSegment, boundType, system));
		}

		@Override
		public Iterable<? extends GraphPointConnection<RoadConnection, RoadSegment>> getConnections() {
			final Iterable<? extends GraphPointConnection<RoadConnection, RoadSegment>> original = this.connection.get().getConnections();
			return Iterables.transform(original, it -> wrapGraphPointConnection(it));
		}

		@Override
		public Iterable<? extends GraphPointConnection<RoadConnection, RoadSegment>> getConnectionsStartingFrom(
				RoadSegment startingPoint) {
			final Iterable<? extends GraphPointConnection<RoadConnection, RoadSegment>> original = this.connection.get()
					.getConnectionsStartingFrom(startingPoint);
			return Iterables.transform(original, it -> wrapGraphPointConnection(it));
		}

		@Override
		public Iterable<? extends GraphPointConnection<RoadConnection, RoadSegment>> getConnectionsStartingFromInReverseOrder(
				RoadSegment startingPoint) {
			final Iterable<? extends GraphPointConnection<RoadConnection, RoadSegment>> original = this.connection.get()
					.getConnectionsStartingFromInReverseOrder(startingPoint);
			return Iterables.transform(original, it -> wrapGraphPointConnection(it));
		}

	}

	/** Internal graph point connection.
	 * @author $Author: sgalland$
	 * @version $FullVersion$
	 * @mavengroupid $GroupId$
	 * @mavenartifactid $ArtifactId$
	 * @since 16.0
	 */
	class WrapGraphPointConnection implements GraphPointConnection<RoadConnection, RoadSegment> {

		private final GraphPointConnection<RoadConnection, RoadSegment> source;

		/** Constructor.
		 *
		 * @param source the wrapped element.
		 */
		WrapGraphPointConnection(GraphPointConnection<RoadConnection, RoadSegment> source) {
			this.source = source;
		}

		@Override
		public RoadSegment getGraphSegment() {
			return wrapSegment(this.source.getGraphSegment());
		}

		@Override
		public RoadConnection getGraphPoint() {
			return wrapPoint(this.source.getGraphPoint());
		}

		@Override
		public boolean isSegmentStartConnected() {
			return this.source.isSegmentStartConnected();
		}

	}

	/** Internal segment wrapper.
	 * @author $Author: sgalland$
	 * @version $FullVersion$
	 * @mavengroupid $GroupId$
	 * @mavenartifactid $ArtifactId$
	 * @since 14.0
	 */
	@SuppressWarnings({"checkstyle:methodcount", "checkstyle:classfanoutcomplexity"})
	class WrapSegment implements RoadSegment {

		private static final long serialVersionUID = -3612626387290684475L;

		private final SoftReference<RoadSegment> segment;

		private final TerminalConnection terminalStart;

		private final TerminalConnection terminalEnd;

		/** Constructor.
		 * @param segment the wrapped segment.
		 * @param terminalStart start point.
		 * @param terminalEnd end point.
		 */
		WrapSegment(RoadSegment segment, TerminalConnection terminalStart, TerminalConnection terminalEnd) {
			assert segment != null;
			final RoadSegment sgmt = unwrap(segment);
			assert sgmt != null;
			this.segment = new SoftReference<>(sgmt);
			this.terminalStart = terminalStart;
			this.terminalEnd = terminalEnd;
		}

		@Override
		@Pure
		public RoadSegment clone() {
			try {
				return (RoadSegment) super.clone();
			} catch (CloneNotSupportedException e) {
				throw new RuntimeException(e);
			}
		}

		@Override
		@Pure
		public RoadSegment getWrappedRoadSegment() {
			return this.segment.get();
		}

		@Override
		@Pure
		public final int hashCode() {
			return this.segment.get().hashCode();
		}

		@Override
		@Pure
		public final boolean equals(Object obj) {
			if (obj instanceof WrapSegment) {
				return this.segment.get().equals(((WrapSegment) obj).getWrappedRoadSegment());
			}
			return this.segment.get().equals(obj);
		}

		/** Replies the terminal start point if it exists.
		 *
		 * @return the terminal start point or <code>null</code>
		 */
		@Pure
		public final RoadConnection getTerminalStart() {
			return this.terminalStart;
		}

		/** Replies the terminal end point if it exists.
		 *
		 * @return the terminal end point or <code>null</code>
		 */
		@Pure
		public final RoadConnection getTerminalEnd() {
			return this.terminalEnd;
		}

		@Override
		public final void addUserData(String id, Object data) {
			//
		}

		@Override
		public final void setUserData(String id, Object data) {
			//
		}

		@Override
		public final void clearUserData(String id) {
			//
		}

		@Override
		public final void clearUserData() {
			//
		}

		@Override
		@Pure
		public final boolean hasUserData(String id) {
			return false;
		}

		@Override
		@Pure
		public final boolean containsUserData(String id, Object data) {
			return false;
		}

		@Override
		@Pure
		public final boolean contains(Point2D<?, ?> point, double delta) {
			return this.segment.get().contains(point, delta);
		}

		@Override
		@Pure
		public final boolean contains(Point2D<?, ?> point) {
			return this.segment.get().contains(point);
		}

		@Override
		@Pure
		public final double distance(Point2D<?, ?> point) {
			return this.segment.get().distance(point);
		}

		@Override
		@Pure
		public final double distance(Point2D<?, ?> point, double width) {
			return this.segment.get().distance(point, width);
		}

		@Override
		@Pure
		public final double distanceToEnd(Point2D<?, ?> point) {
			return this.segment.get().distanceToEnd(point);
		}

		@Override
		@Pure
		public final double distanceToEnd(Point2D<?, ?> point, double width) {
			return this.segment.get().distanceToEnd(point, width);
		}

		@Override
		@Pure
		public final Point2d getAntepenulvianPoint() {
			return this.segment.get().getAntepenulvianPoint();
		}

		@Override
		@Pure
		public final Rectangle2d getBoundingBox() {
			return this.segment.get().getBoundingBox();
		}

		@Override
		@Pure
		public final double getDistanceFromStart(double ratio) {
			return this.segment.get().getDistanceFromStart(ratio);
		}

		@Override
		@Pure
		public final double getDistanceToEnd(double ratio) {
			return this.segment.get().getDistanceToEnd(ratio);
		}

		@Override
		@Pure
		public final Point2d getFirstPoint() {
			return this.segment.get().getFirstPoint();
		}

		@Override
		@Pure
		public final GeoLocation getGeoLocation() {
			return this.segment.get().getGeoLocation();
		}

		@Override
		@Pure
		public final Point2d getGeoLocationForDistance(double desired_distance) {
			return this.segment.get().getGeoLocationForDistance(desired_distance);
		}

		@Override
		@Pure
		public final Point2d getGeoLocationForDistance(double desired_distance,
				double shifting) {
			return this.segment.get().getGeoLocationForDistance(desired_distance, shifting);
		}

		@Override
		@Pure
		public final Point2d getGeoLocationForDistance(double desired_distance,
				double shifting, Vector2D<?, ?> tangent) {
			return this.segment.get().getGeoLocationForDistance(desired_distance, shifting, tangent);
		}

		@Override
		@Pure
		public final void getGeoLocationForDistance(double desired_distance, Point2D<?, ?> geoLocation) {
			this.segment.get().getGeoLocationForDistance(desired_distance, geoLocation);
		}

		@Override
		@Pure
		public final void getGeoLocationForDistance(double desired_distance,
				double shifting, Point2D<?, ?> geoLocation) {
			this.segment.get().getGeoLocationForDistance(desired_distance, shifting, geoLocation);
		}

		@Override
		@Pure
		public final void getGeoLocationForDistance(double desired_distance,
				double shifting, Point2D<?, ?> geoLocation, Vector2D<?, ?> tangent) {
			this.segment.get().getGeoLocationForDistance(desired_distance, shifting, geoLocation, tangent);
		}

		@Override
		@Pure
		public final Point2d getGeoLocationForLocationRatio(double ratio) {
			return this.segment.get().getGeoLocationForLocationRatio(ratio);
		}

		@Override
		@Pure
		public final Point2d getGeoLocationForLocationRatio(double ratio,
				double shifting) {
			return this.segment.get().getGeoLocationForLocationRatio(ratio, shifting);
		}

		@Override
		@Pure
		public final Point2d getGeoLocationForLocationRatio(double ratio,
				double shifting, Vector2D<?, ?> tangent) {
			return this.segment.get().getGeoLocationForLocationRatio(ratio, shifting, tangent);
		}

		@Override
		@Pure
		public final void getGeoLocationForLocationRatio(double ratio, Point2D<?, ?> geoLocation) {
			this.segment.get().getGeoLocationForLocationRatio(ratio, geoLocation);
		}

		@Override
		@Pure
		public final void getGeoLocationForLocationRatio(double ratio,
				double shifting, Point2D<?, ?> geoLocation) {
			this.segment.get().getGeoLocationForLocationRatio(ratio, shifting, geoLocation);
		}

		@Override
		@Pure
		public final void getGeoLocationForLocationRatio(double ratio,
				double shifting, Point2D<?, ?> geoLocation, Vector2D<?, ?> tangent) {
			this.segment.get().getGeoLocationForLocationRatio(ratio, shifting, geoLocation, tangent);
		}

		@Override
		@Pure
		public final Point2d getLastPoint() {
			return this.segment.get().getLastPoint();
		}

		@Override
		@Pure
		public final double getLength() {
			return this.segment.get().getLength();
		}

		@Override
		@Pure
		public final Point2d getPointAt(int index) {
			return this.segment.get().getPointAt(index);
		}

		@Override
		@Pure
		public final int getPointCount() {
			return this.segment.get().getPointCount();
		}

		@Override
		@Pure
		public final RoadNetwork getRoadNetwork() {
			return null;
		}

		@Override
		@Pure
		public final <T> T getUserData(String id) {
			return null;
		}

		@Override
		@Pure
		public final <T> Collection<? extends T> getUserDataCollection(String id) {
			return Collections.emptyList();
		}

		@Override
		@Pure
		public final double getWidth() {
			return this.segment.get().getWidth();
		}

		@Override
		public double getRoadBorderDistance() {
			return this.segment.get().getRoadBorderDistance();
		}

		@Override
		public final void setWidth(double width) {
			this.segment.get().setWidth(width);
		}

		@Override
		@Pure
		public final String getName() {
			return this.segment.get().getName();
		}

		@Override
		public final void setName(String name) {
			this.segment.get().setName(name);
		}

		@Override
		@Pure
		public final boolean intersects(Shape2D<?, ?, ?, ?, ?, ? extends Rectangle2afp<?, ?, ?, ?, ?, ?>> shape) {
			return this.segment.get().intersects(shape);
		}

		@Override
		@Pure
		public final Iterator<Point2d> pointIterator() {
			return this.segment.get().pointIterator();
		}

		@Override
		@Pure
		public final Iterable<Point2d> points() {
			return this.segment.get().points();
		}

		@Override
		public final boolean removeUserData(String id, Object data) {
			return false;
		}

		@Override
		@Pure
		public final GeoId getGeoId() {
			return this.segment.get().getGeoId();
		}

		@Override
		@Pure
		public final boolean isConnectedTo(RoadSegment otherSegment) {
			return this.segment.get().isConnectedTo(unwrap(otherSegment));
		}

		@Override
		@Pure
		public boolean isTraversableFrom(RoadConnection point) {
			return this.segment.get().isTraversableFrom(unwrap(point));
		}

		@Override
		@Pure
		public TrafficDirection getTrafficDirection() {
			return this.segment.get().getTrafficDirection();
		}

		@Override
		public void setTrafficDirection(TrafficDirection direction) {
			this.segment.get().setTrafficDirection(direction);
		}

		@Override
		@Pure
		public final RoadConnection getBeginPoint() {
			final RoadConnection terminated = getTerminalStart();
			return terminated != null ? terminated : wrapPoint(this.segment.get().getBeginPoint());
		}

		@Override
		@Pure
		public final RoadConnection getEndPoint() {
			final RoadConnection terminated = getTerminalEnd();
			return terminated != null ? terminated : wrapPoint(this.segment.get().getEndPoint());
		}

		@Override
		@Pure
		public final RoadConnection getOtherSidePoint(RoadConnection ref_point) {
			final RoadConnection tS = getBeginPoint();
			final RoadConnection tE = getEndPoint();
			if (tS.equals(unwrap(ref_point))) {
				return tE;
			}
			return tS;
		}

		@Override
		@Pure
		public final RoadConnection getSharedConnectionWith(RoadSegment otherSegment) {
			final RoadSegment sgmt = this.segment.get();
			final RoadSegment usgmt = unwrap(otherSegment);
			if (sgmt.isFirstPointConnectedTo(usgmt)) {
				return getBeginPoint();
			}
			if (sgmt.isLastPointConnectedTo(usgmt)) {
				return getEndPoint();
			}
			return null;
		}

		@Override
		@Pure
		public final boolean isFirstPointConnectedTo(Segment1D<?, ?> arg0) {
			final RoadSegment sgmt = this.segment.get();
			final Segment1D<?, ?> usgmt = unwrap(arg0);
			return sgmt.isFirstPointConnectedTo(usgmt);
		}

		@Override
		@Pure
		public final boolean isLastPointConnectedTo(Segment1D<?, ?> arg0) {
			final RoadSegment sgmt = this.segment.get();
			final Segment1D<?, ?> usgmt = unwrap(arg0);
			return sgmt.isLastPointConnectedTo(usgmt);
		}

		@Override
		@Pure
		public final List<RoadSegment> getSegmentChain() {
			return getSegmentChain(true, true);
		}

		@Override
		@Pure
		public final List<RoadSegment> getSegmentChain(boolean forward_search,
				boolean backward_search) {
			final List<RoadSegment> chain = new ArrayList<>();

			chain.add(this);

			// Search for segments in the backward direction (starting at the first point)
			if (backward_search) {
				RoadConnection currPoint = getBeginPoint();
				RoadSegment currSegment = currPoint.getOtherSideSegment(this);

				while (currSegment != null) {
					chain.add(0, wrapSegment(currSegment));
					currPoint = currSegment.getOtherSidePoint(currPoint);
					currSegment = currPoint.getOtherSideSegment(currSegment);
				}
			}

			// Search for segments in the forward direction (starting at the last point)
			if (forward_search) {
				RoadConnection currPoint = getEndPoint();
				RoadSegment currSegment = currPoint.getOtherSideSegment(this);

				while (currSegment != null) {
					chain.add(chain.size(), wrapSegment(currSegment));
					currPoint = currSegment.getOtherSidePoint(currPoint);
					currSegment = currPoint.getOtherSideSegment(currSegment);
				}
			}

			final RoadPath path = new RoadPath();

			path.addAll(chain);

			return path;
		}

		@Override
		@Pure
		public String toString() {
			final RoadSegment sgmt = this.segment.get();
			assert sgmt != null;
			return sgmt.toString();
		}

		@Override
		@Pure
		public double getLaneCenter(int laneIndex) {
			return this.segment.get().getLaneCenter(laneIndex);
		}

		@Override
		@Pure
		public int getLaneCount() {
			return this.segment.get().getLaneCount();
		}

		@Override
		@Pure
		public Direction1D getLaneDirection(int laneIndex) {
			return this.segment.get().getLaneDirection(laneIndex);
		}

		@Override
		@Pure
		public double getLaneSize(int laneIndex) {
			return this.segment.get().getLaneSize(laneIndex);
		}

		@Override
		@Pure
		public Vector2d getTangentAt(double positionOnSegment) {
			return this.segment.get().getTangentAt(positionOnSegment);
		}

		@Override
		@Pure
		public Point1d getNearestPosition(Point2D<?, ?> pos, double lateralDistance) {
			return this.segment.get().getNearestPosition(pos, lateralDistance);
		}

		@Override
		@Pure
		public void projectsOnPlane(double positionOnSegment, double shiftDistance, Point2D<?, ?> position,
				Vector2D<?, ?> tangent) {
			this.segment.get().projectsOnPlane(positionOnSegment, shiftDistance, position, tangent);
		}

		@Override
		@Pure
		public void projectsOnPlane(double positionOnSegment, Point2D<?, ?> position, Vector2D<?, ?> tangent) {
			this.segment.get().projectsOnPlane(positionOnSegment, position, tangent);
		}

		@Override
		@Pure
		public GraphIterator<RoadSegment, RoadConnection> depthIterator(
				double depth, double position_from_starting_point,
				RoadConnection starting_point, boolean allowManyReplies,
				boolean assumeOrientedSegments,
				DynamicDepthUpdater<RoadSegment, RoadConnection> dynamicDepthUpdater) {
			return new DistanceBasedRoadNetworkIterator(
					SubRoadNetwork.this,
					depth, position_from_starting_point,
					this, starting_point,
					allowManyReplies, assumeOrientedSegments, dynamicDepthUpdater);
		}

		@Override
		@Pure
		public GraphIterator<RoadSegment, RoadConnection> iterator(
				RoadConnection starting_point, boolean allowManyReplies,
				boolean assumeOrientedSegments) {
			return new RoadNetworkIterator(
					SubRoadNetwork.this,
					this, starting_point,
					allowManyReplies, assumeOrientedSegments,
					0.);
		}

		@Override
		@Pure
		public GraphIterator<RoadSegment, RoadConnection> iterator() {
			return iterator(getBeginPoint(),
					RoadNetworkConstants.ENABLE_GRAPH_ITERATION_CYCLES,
					RoadNetworkConstants.ENABLE_ORIENTED_SEGMENTS);
		}

		@Override
		@Pure
		public UUID getUUID() {
			return this.segment.get().getUUID();
		}

		@Override
		public void addAttributeChangeListener(AttributeChangeListener listener) {
			this.segment.get().addAttributeChangeListener(listener);
		}

		@Override
		public void flush() {
			this.segment.get().flush();
		}

		@Override
		public boolean removeAllAttributes() {
			return this.segment.get().removeAllAttributes();
		}

		@Override
		public boolean removeAttribute(String name) {
			return this.segment.get().removeAttribute(name);
		}

		@Override
		public void removeAttributeChangeListener(AttributeChangeListener listener) {
			this.segment.get().removeAttributeChangeListener(listener);
		}

		@Override
		public boolean renameAttribute(String oldname, String newname) {
			return this.segment.get().renameAttribute(oldname, newname);
		}

		@Override
		public boolean renameAttribute(String oldname, String newname, boolean overwrite) {
			return this.segment.get().renameAttribute(oldname, newname, overwrite);
		}

		@Override
		public Attribute setAttribute(Attribute value) throws AttributeException {
			return this.segment.get().setAttribute(value);
		}

		@Override
		public Attribute setAttribute(String name, AttributeValue value) throws AttributeException {
			return this.segment.get().setAttribute(name, value);
		}

		@Override
		public Attribute setAttribute(String name, boolean value) {
			return this.segment.get().setAttribute(name, value);
		}

		@Override
		public Attribute setAttribute(String name, int value) {
			return this.segment.get().setAttribute(name, value);
		}

		@Override
		public Attribute setAttribute(String name, long value) {
			return this.segment.get().setAttribute(name, value);
		}

		@Override
		public Attribute setAttribute(String name, float value) {
			return this.segment.get().setAttribute(name, value);
		}

		@Override
		public Attribute setAttribute(String name, InetAddress value) {
			return this.segment.get().setAttribute(name, value);
		}

		@Override
		public Attribute setAttribute(String name, InetSocketAddress value) {
			return this.segment.get().setAttribute(name, value);
		}

		@Override
		public Attribute setAttribute(String name, Enum<?> value) {
			return this.segment.get().setAttribute(name, value);
		}

		@Override
		public Attribute setAttribute(String name, Class<?> value) {
			return this.segment.get().setAttribute(name, value);
		}

		@Override
		public Attribute setAttribute(String name, double value) {
			return this.segment.get().setAttribute(name, value);
		}

		@Override
		public Attribute setAttribute(String name, String value) {
			return this.segment.get().setAttribute(name, value);
		}

		@Override
		public Attribute setAttribute(String name, UUID value) {
			return this.segment.get().setAttribute(name, value);
		}

		@Override
		public Attribute setAttribute(String name, URL value) {
			return this.segment.get().setAttribute(name, value);
		}

		@Override
		public Attribute setAttribute(String name, URI value) {
			return this.segment.get().setAttribute(name, value);
		}

		@Override
		public Attribute setAttribute(String name, Date value) {
			return this.segment.get().setAttribute(name, value);
		}

		@Override
		@Pure
		public Iterable<Attribute> attributes() {
			return this.segment.get().attributes();
		}

		@Override
		public void freeMemory() {
			this.segment.get().freeMemory();
		}

		@Override
		@Pure
		public Collection<String> getAllAttributeNames() {
			return this.segment.get().getAllAttributeNames();
		}

		@Override
		@Pure
		public Collection<Attribute> getAllAttributes() {
			return this.segment.get().getAllAttributes();
		}

		@Override
		@Pure
		public Map<AttributeType, Collection<Attribute>> getAllAttributesByType() {
			return this.segment.get().getAllAttributesByType();
		}

		@Override
		@Pure
		public AttributeValue getAttribute(String name) {
			return this.segment.get().getAttribute(name);
		}

		@Override
		@Pure
		public AttributeValue getAttribute(String name, AttributeValue defaultValue) {
			return this.segment.get().getAttribute(name, defaultValue);
		}

		@Override
		@Pure
		public boolean getAttribute(String name, boolean defaultValue) {
			return this.segment.get().getAttribute(name, defaultValue);
		}

		@Override
		@Pure
		public double getAttribute(String name, double defaultValue) {
			return this.segment.get().getAttribute(name, defaultValue);
		}

		@Override
		@Pure
		public float getAttribute(String name, float defaultValue) {
			return this.segment.get().getAttribute(name, defaultValue);
		}

		@Override
		@Pure
		public int getAttribute(String name, int defaultValue) {
			return this.segment.get().getAttribute(name, defaultValue);
		}

		@Override
		@Pure
		public long getAttribute(String name, long defaultValue) {
			return this.segment.get().getAttribute(name, defaultValue);
		}

		@Override
		@Pure
		public String getAttribute(String name, String defaultValue) {
			return this.segment.get().getAttribute(name, defaultValue);
		}

		@Override
		@Pure
		public InetAddress getAttribute(String name, InetAddress defaultValue) {
			return this.segment.get().getAttribute(name, defaultValue);
		}

		@Override
		@Pure
		public InetAddress getAttribute(String name, InetSocketAddress defaultValue) {
			return this.segment.get().getAttribute(name, defaultValue);
		}

		@Override
		@Pure
		public <T extends Enum<T>> T getAttribute(String name, T defaultValue) {
			return this.segment.get().getAttribute(name, defaultValue);
		}

		@Override
		@Pure
		public Class<?> getAttribute(String name, Class<?> defaultValue) {
			return this.segment.get().getAttribute(name, defaultValue);
		}

		@Override
		@Pure
		public UUID getAttribute(String name, UUID defaultValue) {
			return this.segment.get().getAttribute(name, defaultValue);
		}

		@Override
		@Pure
		public URL getAttribute(String name, URL defaultValue) {
			return this.segment.get().getAttribute(name, defaultValue);
		}

		@Override
		@Pure
		public URI getAttribute(String name, URI defaultValue) {
			return this.segment.get().getAttribute(name, defaultValue);
		}

		@Override
		@Pure
		public Date getAttribute(String name, Date defaultValue) {
			return this.segment.get().getAttribute(name, defaultValue);
		}

		@Override
		@Pure
		public boolean getAttributeAsBool(String name) throws AttributeException {
			return this.segment.get().getAttributeAsBool(name);
		}

		@Override
		@Pure
		public double getAttributeAsDouble(String name) throws AttributeException {
			return this.segment.get().getAttributeAsDouble(name);
		}

		@Override
		@Pure
		public float getAttributeAsFloat(String name) throws AttributeException {
			return this.segment.get().getAttributeAsFloat(name);
		}

		@Override
		@Pure
		public int getAttributeAsInt(String name) throws AttributeException {
			return this.segment.get().getAttributeAsInt(name);
		}

		@Override
		@Pure
		public long getAttributeAsLong(String name) throws AttributeException {
			return this.segment.get().getAttributeAsLong(name);
		}

		@Override
		@Pure
		public String getAttributeAsString(String name) throws AttributeException {
			return this.segment.get().getAttributeAsString(name);
		}

		@Override
		@Pure
		public UUID getAttributeAsUUID(String name) throws AttributeException {
			return this.segment.get().getAttributeAsUUID(name);
		}

		@Override
		@Pure
		public URL getAttributeAsURL(String name) throws AttributeException {
			return this.segment.get().getAttributeAsURL(name);
		}

		@Override
		@Pure
		public URI getAttributeAsURI(String name) throws AttributeException {
			return this.segment.get().getAttributeAsURI(name);
		}

		@Override
		@Pure
		public Date getAttributeAsDate(String name) throws AttributeException {
			return this.segment.get().getAttributeAsDate(name);
		}

		@Override
		@Pure
		public int getAttributeCount() {
			return this.segment.get().getAttributeCount();
		}

		@Override
		@Pure
		public Attribute getAttributeObject(String name) {
			return this.segment.get().getAttributeObject(name);
		}

		@Override
		@Pure
		public boolean hasAttribute(String name) {
			return this.segment.get().hasAttribute(name);
		}

		@Override
		@Pure
		public int getFlags() {
			return this.segment.get().getFlags();
		}

		@Override
		@Pure
		public boolean hasFlag(int flagIndex) {
			return this.segment.get().hasFlag(flagIndex);
		}

		@Override
		public void setFlag(int flag) {
			this.segment.get().setFlag(flag);
		}

		@Override
		public void switchFlag(int flagIndex) {
			this.segment.get().switchFlag(flagIndex);
		}

		@Override
		public void unsetFlag(int flagIndex) {
			this.segment.get().unsetFlag(flagIndex);
		}

		@Override
		@Pure
		public RoadType getRoadType() {
			return this.segment.get().getRoadType();
		}

		@Override
		public void setRoadType(RoadType type) {
			this.segment.get().setRoadType(type);
		}

		@Override
		public Attribute setAttributeType(String name, AttributeType type) throws AttributeException {
			return this.segment.get().setAttributeType(name, type);
		}

		@Override
		@Pure
		public String getRoadNumber() {
			return this.segment.get().getRoadNumber();
		}

		@Override
		public void setRoadNumber(String number) {
			this.segment.get().setRoadNumber(number);
		}

		@Override
		@Pure
		public Enum<?> getAttributeAsEnumeration(String name) throws AttributeException {
			return this.segment.get().getAttributeAsEnumeration(name);
		}

		@Override
		@Pure
		public <T extends Enum<T>> T getAttributeAsEnumeration(String name,
				Class<T> type) throws AttributeException {
			return this.segment.get().getAttributeAsEnumeration(name, type);
		}

		@Override
		@Pure
		public Class<?> getAttributeAsJavaClass(String name) throws AttributeException {
			return this.segment.get().getAttributeAsJavaClass(name);
		}

		@Override
		@Pure
		public InetAddress getAttributeAsInetAddress(String name)
				throws AttributeException {
			return this.segment.get().getAttributeAsInetAddress(name);
		}

		@Override
		@Pure
		public boolean isEventFirable() {
			return this.segment.get().isEventFirable();
		}

		@Override
		public void setEventFirable(boolean isFirable) {
			this.segment.get().setEventFirable(isFirable);
		}

		@Override
		public void setAttributes(Map<String, Object> content) {
			this.segment.get().setAttributes(content);
		}

		@Override
		public void setAttributes(AttributeProvider content) throws AttributeException {
			this.segment.get().setAttributes(content);
		}

		@Override
		public void addAttributes(Map<String, Object> content) {
			this.segment.get().addAttributes(content);
		}

		@Override
		public void addAttributes(AttributeProvider content) throws AttributeException {
			this.segment.get().addAttributes(content);
		}

		@Override
		@Pure
		public void toMap(Map<String, Object> mapToFill) {
			this.segment.get().toMap(mapToFill);
		}

		@Override
		public void toPath2D(Path2d path, double startPosition, double endPosition) {
			this.segment.get().toPath2D(path, startPosition, endPosition);
		}

		@Override
		public void toJson(JsonBuffer buffer) {
			this.segment.get().toJson(buffer);
		}

	} // class WrapSegment

	/** Internal iterator.
	 * @author $Author: sgalland$
	 * @version $FullVersion$
	 * @mavengroupid $GroupId$
	 * @mavenartifactid $ArtifactId$
	 * @since 14.0
	 */
	class WrapSegmentIterator implements Iterator<RoadSegment> {

		private final Iterator<RoadSegment> iterator;

		/** Constructor.
		 * @param iter the original iterator.
		 */
		WrapSegmentIterator(Iterator<RoadSegment> iter) {
			this.iterator = iter;
		}

		@Override
		@Pure
		public boolean hasNext() {
			return this.iterator.hasNext();
		}

		@Override
		public RoadSegment next() {
			return wrapSegment(this.iterator.next());
		}

		@Override
		public void remove() {
			this.iterator.remove();
		}

	}

	/** Internal iterator.
	 * @author $Author: sgalland$
	 * @version $FullVersion$
	 * @mavengroupid $GroupId$
	 * @mavenartifactid $ArtifactId$
	 * @since 14.0
	 */
	class WrapSegmentIterable implements Iterable<RoadSegment> {

		private final Iterable<RoadSegment> iterable;

		/** Constructor.
		 * @param iter the original iterator.
		 */
		WrapSegmentIterable(Iterable<RoadSegment> iter) {
			this.iterable = iter;
		}

		@Override
		@Pure
		public Iterator<RoadSegment> iterator() {
			return new WrapSegmentIterator(this.iterable.iterator());
		}

	}

}

redpajama_set_name: RedPajamaGithub


Hello Hello!! I am a natural light newborn and family photographer servicing the greater Phoenix, Arizona area and I am also available for travel nation wide. I focus on clean and simple photography and strive to capture your family as they are and not how I want you to look.
To me, pictures are more then a piece of paper. They are memories and moments in time that we can capture and preserve forever. They are the 1st smile, the 1st steps, the tiny toes and fingers that grip our hands or the silly faces your toddler makes. These moments don't last forever, so capture them while you can!
In addition to being a photographer, I am an army wife and mother of 3 small children. So I know all too well how important these memories are to us and to those who might not be there to share them with us all the time. The images I capture can bring a person back to that place in time. That moment when their baby 1st giggled, or when their little boy laughed and laughed as he sat on his dads shoulders. Life gets crazy and hectic and we don't always get a chance to enjoy those little moments. But pictures can preserve those moments in time and bring you back when life gets in the way!


The purpose of this study was to investigate the effect of Structured Learning Training on the social skills of at-risk Black and Hispanic males in the sixth grade. Using a posttest-only research design and a t test for independent samples, it was found that the students (n = 12) who participated in Structured Learning Training showed a greater increase in number of discipline referrals than the students (n = 12) who did not receive Structured Learning Training (t (22) = 2.36, p > .05). Students receiving Structured Learning Training also showed an increase in the severity of behaviors generating in the discipline referrals (t (22) = 2.31, p > .05). It was concluded that participation in Structured Learning Training did not result in fewer discipline referrals or referrals for less severe behaviors, but several positive effects of the intervention were noted. Major factors contributing to the results of the study are presented in the discussion section of this paper.


So we have a 18-ish hour overnight layover in Manchester in September and need some tips.
Happy 4th of July from Torchbug!
Welcome back to another episode of Torchbug Takes the (Chi)Town! Previously, he met a bunch of celebs, saw the Brickyard, and towered above Wacker Drive. Now he's back to see more of the city and visit another Chicagoland automotive icon, Lake Forest Sports Cars.
A new week brings a new Torchbug update! After touring a bit of Chicago and witnessing the Indy 500, it was back home to check out Supercar Saturdays (C&C type event), and to meet some automotive celebrities!
Despite covering so many miles in Chicago in his last outing, the Torchbug was eager for more! That following weekend, we decided to take him on a quick road trip and show him "The Greatest Spectacle in Racing" - the 99th Indy 500!
Hey LaLD and all Jalops!
Maybe it makes more sense when you turn the ticket upside down?
If the always accurate internet comments are true, it appears the bikers have been driving at high speeds past their house and the "family man" was concerned about his kids. That doesn't justify crossing the double-yellows and going head-on while those kids are in the truck.
Yep, you read that right folks! The Torchbug arrived in Chicago this week and is ready to blaze through your shutter count!
I remember there were a few more of us besides StoneCold who were looking to take photos, so let me know if you want in. We'll try figure something out!
I was gonna write some stuff about how Senna is amazing, my favorite F1 driver, and yadda yadda, but just watch the video. It speaks for itself.
We've finally done it. Humans have made the single greatest discovery in the history of our species, answering a question that has perplexed us all for decades: Why are BMW drivers such asshats?


text:
Attacking Invasive Weeds: It takes the right kind of crazy.
"It's an interesting personality that wants to hold brain space for all of this [information about weeds]."
FRLT Stewardship Director Gabe Miller laughs as he realizes he is that "interesting" sort of personality...
"You have to be kinda crazy and have a strong will, for a long time, to keep trying to eradicate and adapt with ever-adapting invasive plants. It's not for the weak hearted."
Fortunately for lands in the Feather River Country, we've got the right kind of crazy not only in Gabe, but in an incredible team of partners and community volunteers who are helping FRLT address the many challenges of weed infestation on conserved lands throughout the Feather River Watershed.
First, the challenge. What are we up against?
"I have a lot of respect for invasive plants. Their seed-banking is impressive! For instance, one Yellow Star Thistle can produce 60,000 seeds, and each seed can hang out in the soil for 3-4 years. Each type of plant has a different life cycle. On a property you may have 12 different kinds of invasives, and what helps control one plant can actually help another plant succeed, depending on timing with their life cycle. One weed, like Yellow Star Thistle might respond to methodical and consistent hand pulling at the right time, while another, like White Top, doesn't respond to hand-pulling or topping - it can actually make it worse."
What methods are you trying to control invasive weeds on FRLT's lands?
We're trying on all fronts: targeted grazing with goats and cattle, hand-pulling, tarping, strategically timed mowing experiments, underburning, and re-seeding.
We're working very closely with the Plumas Ag Department and Commisioner, the Plumas-Sierra Weeds Group, Master Gardeners, the local Resource Conservation Districts, our own science-based Land Stewardship Committee, and dedicated community members.
On the Heart K Ranch, where Yellow Star Thistle threatens native meadows, a brigade of incredibly dedicated community volunteers is helping us perfect the art of hand-pulling. They are methodical. I'd estimate that Heart K neighbor Dana Fenimore has pulled many thousands of plants just himself!
On the Leonhardt property, where we've got a variety of invasives, we're trying topping, timed mowing, targeted grazing, and students and teachers have taken on topping, hand pulling, and staking native willow.
You have to enlist the resources you have and we're willing to experiment.
So Adaptive Management is the Key?
In some ways, on each of these properties - Heart K, Leonhardt, and in Sierra Valley - we're starting with a some pretty good challenges as our baseline. We're working on lands that aren't pristine, so we can and need to experiment. We can trace what we're doing and see the effects.
It does take time. We're trying lots of methods. Managing land is an evolving process. We are trying to not rush too quickly into any one thing - there is no silver bullet - and each method can have unintended consequences over time. But we are also trying to implement as quickly as we can.
With changes due to climate change and drought, we don't know what it's going to look like in 10 years. Experimentation and adaptive management are key. We're building the history of experimentation and adaptation now. We did an underburn on Heart K last Spring. It's an experiment to see how fire relates to invasives and natives. It doesn't eradicate weeds, but it can help control the life cycle of the plant.
Each of these experiments we've been trying over the last five years are helping inform the long-term weeds plans we are developing for each property.
Hopefully we can do this on a scale that makes a difference on these landscapes. Plants are really here to stay. The question is how do we choose to adapt and live with them on our landscapes?


text:
of {{total_results}} for {{query}}
of {{total_results}} for {{query}} {{filter_label}}: {{filter_value}}
{{result.published_at}} — {{ result.body }}
{{ result.url }}
Startups Mobile Gadgets Enterprise Social Europe Asia
More Exits For Asian E-commerce Firms, But Valuations Still Small
by Victoria Ho
There has been a growing rate of exits happening for Asian e-commerce companies, but valuations remain small on average. Most are under the $50 million mark, according to CB Insights' latest report. The report, which provides a broad sweep of the past three years of activity in the region, showed that most activity—unsurprisingly—was happening in the large markets of India and China. But while India had the most exit deals done so far, China completely dominated in terms of investment volume. India had 154 exits since 2010, and China had 83. Russia had 61, Singapore 35 and Japan 11, in the time. But those 83 exits in China were worth $4.8 billion collectively. India trails at $978 million in second place. Russia had $731 million, followed by Singapore at $328 million and Japan at just $58 million. China's activity saw a particularly big spike in Q2 of 2011, thanks to three mega-deals there: 360buy ($1.5 billion), 55tuan ($200 million) and Lashou ($110 million). Besides exits, large e-tailers also IPOed in the US in recent years, such as China's DangDang and VIPshop, and India's MakeMyTrip. DangDang specializes in selling books (although it's recently been trying to broaden across products) and raised $272 million in its NYSE IPO in 2010. VIPshop IPOed in 2012 and raised $71.5 million. MakeMyTrip shares surged 89 percent in its 2010 Nasdaq debut, raising $70 million. But apart from the activity in China, the rest of Asia has a ways to go. On average, 60 percent of exits were valued at less than $50 million, with about half of that being less than $25 million. The result of the poor valuation outcomes may contribute to the sector being exit-challenged for the time being, said CB. Furthermore, post-IPO performance has been lackluster. DangDang, VIPshop and MakeMyTrip saw their share prices tumble after IPO. The fashion vertical receives the most interest from investors, with more than a quarter of overall e-commerce deals coming from apparel sites consistently each year. Rocket Internet's Singapore-based fashion site, Zalora, has been doing particularly well in the past year. In March, scooped up $26 million from German retail conglomerate Tengelmann Group, following a "significant double digit million" dollar investment from JP Morgan in September last year. Tiger Global Management is the most active investor in the region's e-commerce sector, and appears to be focusing mostly on India, with 16 deals so far. It's joined by Accel Partners, Intel Capital, Sequoia Capital and IDG in the top five.
Victoria Ho
Victoria Ho is a Writer at Gigabuzz, focused on covering early-stage startups, especially those with a technology focus and great perks.
Next Results
and 5 more articles


The Pennsylvania Department of Transportation has provided safety tips to both motor vehicle and motorcycle drivers in anticipation of the summer riding season.
Summer fun is around the corner, and motorcycles already can be seen cruising in your local neighborhoods.
May is Motorcycle Safety Awareness Month. Government agencies and safety organizations are reminding both motorists and motorcycle drivers to practice safety while on the road.
In 2013, 4,668 motorcycle riders and passengers died in crashes, and nonfatal injuries that year totaled 88,000, according to data published by the National Safety Council.
"As more and more people enjoy the fun and excitement of motorcycling, we want to remind both motorcyclists and motorists to share the road safely," Tom Wolf, Pennsylvania governor, said in a statement. "Staying aware while driving or riding, obeying speed limits and being responsible will help keep fatalities and injuries as low as possible."
The Pennsylvania Department of Transportation (PennDOT) reminds operators of motor vehicles that they should watch for motorcycles.
Because many two-wheeled vehicles may be difficult to see, drivers should be extra cautious when checking mirrors and blind spots before changing lanes and at intersections. Motorcycles should be respected with the same rights as any vehicle on the roadway, PennDOT said.
Drivers should leave extra space — at least four seconds when following a motorcycle. In addition, motorcycle drivers need a full lane width to maneuver safety in all types of roads and conditions. Lastly, drivers should always signal their intentions during vehicle operation and never drive impaired.
• Be seen by wearing reflective clothing and put reflective tape on your protective clothing and motorcycle. Also, wear face or eye protection and a DOT-approved helmet.
• Use common sense by riding sober, obeying all speed limits and allowing enough time to react to potentially dangerous situations.
• Know your motorcycle and conduct a pre-ride check.
• Practice safe riding techniques and know how to handle your motorcycle in adverse road and weather conditions.
"Sharing the road safely, staying aware while driving or riding, obeying speed limits and being responsible can help keep motorcycle fatalities and injuries low," said PennDOT Secretary Leslie S. Richards in a statement. "Taking a training course under the watchful eye of a trained instructor also goes a long way in reducing the likelihood of a crash."


Data Engineering Architects at the Senior Manager level will be responsible for providing solutions to digital age data challenges in multiple industries through architecture, design and implementation of an ecosystem of Hadoop, NoSQL, Self-Service Data Preparation, AI, Machine Learning and other modern data technologies on premise and also on Cloud. The solutions typically will include re-engineering the data acquisition, storage, processing, security, data management, governance and analysis using these technologies leading to the implementation of a modern data platform. A solid experience and understanding of considerations for planning, scaling, deployment and operations that are unique to Hadoop, NoSQL and other emerging modern data technologies is required. We are looking for candidates who have a broad set of skills across these areas and who can demonstrate an ability to identify and apply modern data and cloud technologies to architect and implement innovative and differentiated data solutions. Our architects are expected to work with our clients in defining the future state architectures of their data platforms enabling analytical intelligence and then play a lead role to implement a roadmap to reach that state.
Minimum 3+ years of architecting, implementing and successfully operationalizing large scale data solutions in production environments using Hadoop and NoSQL ecosystem on premise or on Cloud (AWS, Google or Azure) using many of the relevant technologies such as Nifi, Spark, Kafka, HBase, Hive, Cassandra, EMR, Kinesis, BigQuery, DataProc, Azure Data Lake etc.
Candidates who are currently employed by a client of Accenture or an affiliated Accenture business may not be eligible for consideration. Accenture is an EEO and Affirmative Action Employer of Females/Minorities/Veterans/Individuals with Disabilities.


text:
Rejuvenation in z~0.8 quiescent galaxies in LEGA-C
Chauke, Priscilla and Wel, Arjen van der and Pacifici, Camilla and Bezanson, Rachel and Wu, Po-Feng and Gallazzi, Anna and Straatman, Caroline and Franx, Marijn and Barišić, Ivana and Bell, Eric F. and Houdt, Josha van and Maseda, Michael V. and Muzzin, Adam and Sobral, David and Spilker, Justin (2019) Rejuvenation in z~0.8 quiescent galaxies in LEGA-C. The Astrophysical Journal, 877 (1). ISSN 0004-637X
PDF (sfh_legac_rejuv_apj_s2)
sfh_legac_rejuv_apj_s2.pdf - Accepted Version
Official URL: https://doi.org/10.3847/1538-4357/ab164d
We use reconstructed star-formation histories (SFHs) of quiescent galaxies at z = 0.6 − 1 in the LEGA-C survey to identify secondary star-formation episodes that, after an initial period of quiescence, moved the galaxies back to the star-forming main sequence (blue cloud). 16 ± 3% of the z ∼ 0.8 quiescent population has experienced such rejuvenation events in the redshift range 0.7 < z < 1.5 after reaching quiescence at some earlier time. On average, these galaxies first became quiescent at z = 1.2, and those that rejuvenated, remained quiescent for ∼ 1Gyr before their secondary SF episode which lasted ∼ 0.7Gyr. The stellar mass attributed to rejuvenation is on average 10% of the galaxy stellar mass, with rare instances of an increase of more than a factor 2. Overall, rejuvenation events only contribute ∼ 2% of the total stellar mass in z ∼ 0.8 quiescent galaxies and we conclude that rejuvenation is not an important evolutionary channel when considering the growth of the red sequence. However, our results complicate the interpretation of galaxy demographics in color space: the galaxies with rejuvenation events tend to lie in the so-called 'green valley', yet their progenitors were quiescent at z ∼ 2.
This is an author-created, un-copyedited version of an article accepted for publication/published in The Astrophysical Journal. IOP Publishing Ltd is not responsible for any errors or omissions in this version of the manuscript or any version derived from it. The Version of Record is available online at doi: 10.3847/1538-4357/ab164d


Crib Bundle with Blanket and Sheet in Butter by BedVoyage BedVoyage's luxury 100% Rayon from Bamboo crib sheet and knitted blanket set will feel incredibly smooth and comforting against your baby's delicate skin, and Rayon from Bamboo absorbs moisture 3 times faster than cotton so the linens will stay dry and fresher, helping them to sleep more soundly.
Crib Bundle with Blanket and Sheet in Champagne by BedVoyage BedVoyage's luxury 100% Rayon from Bamboo crib sheet and knitted blanket set will feel incredibly smooth and comforting against your baby's delicate skin, and Rayon from Bamboo absorbs moisture 3 times faster than cotton so the linens will stay dry and fresher, helping them to sleep more soundly.
Crib Bundle with Blanket and Sheet in Ivory by BedVoyage BedVoyage's luxury 100% Rayon from Bamboo crib sheet and knitted blanket set will feel incredibly smooth and comforting against your baby's delicate skin, and Rayon from Bamboo absorbs moisture 3 times faster than cotton so the linens will stay dry and fresher, helping them to sleep more soundly.
Crib Bundle with Blanket and Sheet Set in Sky by BedVoyage BedVoyage's luxury 100% Rayon from Bamboo crib sheet and knitted blanket set will feel incredibly smooth and comforting against your baby's delicate skin, and Rayon from Bamboo absorbs moisture 3 times faster than cotton so the linens will stay dry and fresher, helping them to sleep more soundly.
Pillowcase Sets of Rayon from Bamboo in Butter by BedVoyage BedVoyage Pillowcases are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The pillowcases will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin.
Pillowcase Sets of Rayon from Bamboo in Cayenne by BedVoyage BedVoyage Bamboo Pillowcases are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The pillowcases will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin.
Pillowcase Sets of Rayon from Bamboo in Champagne by BedVoyage BedVoyage Bamboo Pillowcases are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The pillowcases will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin.
Pillowcase Sets of Rayon from Bamboo in Ivory by BedVoyage BedVoyage Bamboo Pillowcases are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The pillowcases will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin.
Pillowcase Sets of Rayon from Bamboo in Mocha by BedVoyage BedVoyage Bamboo Pillowcases are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The pillowcases will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin.
Pillowcase Sets of Rayon from Bamboo in Platinum by BedVoyage BedVoyage Bamboo Pillowcases are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The pillowcases will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin.
Pillowcase Sets of Rayon from Bamboo in Sky by BedVoyage BedVoyage Bamboo Pillowcases are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The pillowcases will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin.
Pillowcase Sets of Rayon from Bamboo in White by BedVoyage BedVoyage Bamboo Pillowcases are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The pillowcases will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin.
Pillowcase Sets of Rayon from Bamboo/ in Sage by BedVoyage BedVoyage Bamboo Pillowcases are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The pillowcases will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin.
Sheet Sets of Rayon from Bamboo in Butter by BedVoyage BedVoyage Bamboo Bed Sheets are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The linens will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin. Sheet sets include a deep-pocket fitted sheet, a flat sheet, and two pillowcases (1 for Twin size).
Sheet Sets of Rayon from Bamboo in Cayenne by BedVoyage BedVoyage Bamboo Bed Sheets are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The linens will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin. Sheet sets include a deep-pocket fitted sheet, a flat sheet, and two pillowcases (1 for Twin size).
Sheet Sets of Rayon from Bamboo in Champagne by BedVoyage BedVoyage Bamboo Bed Sheets are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The linens will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin. Sheet sets include a deep-pocket fitted sheet, a flat sheet, and two pillowcases (1 for Twin size).
Sheet Sets of Rayon from Bamboo in Ivory by BedVoyage BedVoyage Bamboo Bed Sheets are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The linens will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin. Sheet sets include a deep-pocket fitted sheet, a flat sheet, and two pillowcases (1 for Twin size).
Sheet Sets of Rayon from Bamboo in Mocha by BedVoyage BedVoyage Bamboo Bed Sheets are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The linens will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin. Sheet sets include a deep-pocket fitted sheet, a flat sheet, and two pillowcases (1 for Twin size).
Sheet Sets of Rayon from Bamboo in Platinum by BedVoyage BedVoyage Bamboo Bed Sheets are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The linens will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin. Sheet sets include a deep-pocket fitted sheet, a flat sheet, and two pillowcases (1 for Twin size).
Sheet Sets of Rayon from Bamboo in Sage by BedVoyage BedVoyage Bamboo Bed Sheets are made from 100% rayon from bamboo, are subtly cool and extremely breathable, with a feel softer to the touch than a 1,000 thread-count Pima cotton. The linens will not pill nor fade. Bamboo is an easy care and durable fiber, and those with sensitive skin will benefit from the round bamboo fibers which are extremely smooth against the skin. Sheet sets include a deep-pocket fitted sheet, a flat sheet, and two pillowcases (1 for Twin size).