visibleLineCandidate.getP1().distance(source),
visibleLineCandidate.getP2().distance(source));
// Does shadow rectangle intersect test area?
if (visibleLineCandidate != shadowLineCandidate &&
testArea.intersects(shadowRectangleCandidate) &&
shadowCloseDistance <= visibleFarDistance) {
// Shadow line candidate seems to shadow (part of) our visible candidate
AngleInterval shadowLineCandidateAngleInterval =
AngleInterval.getAngleIntervalOfLine(source, shadowLineCandidate).intersectWith(angleIntervalToCheck);