public EndPoint buildEndPoint() {
		switch( direction ){
			case DIRECT:
				return new UndirectedEndPoint();
			case ORTHOGONAL:
				return new OrthogonalEndPoint();
			default:
				throw new IllegalStateException( "unknown enum: " + direction );
		}
	}