class Line extends AUnboundedLine implements ILine {

	@Override
	public Optional<IVector2> intersectHalfLine(final IHalfLine halfLine)
	{
		if (this.isValid() && halfLine.isValid())
		{
			return LineMath.intersectionPointOfLineAndHalfLine(this, halfLine);
		}
		return Optional.empty();
	}

	private  Line(final IVector2 supportVector, final IVector2 directionVector);

}