public EndPointPaintable buildDecoration( EndPoint endPoint ) {
		switch( decoration ){
			case NONE:
				return null;
			case DIAMOND:
				return new Diamond( endPoint, Color.WHITE );
			case FILLED_DIAMOND:
				return new Diamond( endPoint, Color.BLACK );
			case OPEN_ARROW:
				return new OpenArrow( endPoint );
			case CLOSE_ARROW:
				return new FilledArrow( endPoint, Color.WHITE );
			case FILLED_ARROW:
				return new FilledArrow( endPoint, Color.BLACK );
			default:
				throw new IllegalStateException( "unknown enum: " + decoration );
		}
	}