intersectLine( line, target ) {

		const direction = line.delta( _vector1 );

		const denominator = this.normal.dot( direction );

		if ( denominator === 0 ) {

			// line is coplanar, return origin
			if ( this.distanceToPoint( line.start ) === 0 ) {

				return target.copy( line.start );

			}

			// Unsure if this is the correct method to handle this case.
			return null;

		}

		const t = - ( line.start.dot( this.normal ) + this.constant ) / denominator;

		if ( t < 0 || t > 1 ) {

			return null;

		}

		return target.copy( line.start ).addScaledVector( direction, t );

	}
Returns the intersection point of the passed line and the plane. Returns
`null` if the line does not intersect. Returns the line's starting point if
the line is coplanar with the plane.

@param {Line3} line - The line to compute the intersection for.
@param {Vector3} target - The target vector that is used to store the method's result.
@return {?Vector3} The intersection point.