public static boolean arePointsOnSameSideOfLine(Point p1, Point p2, Point l1, Point l2) {
        
        if (GeometryUtils.isLineHorizontal(l1, l2)) {
            if (p1.y() < l1.y() && p2.y() < l1.y()) return true;
            if (p1.y() > l1.y() && p2.y() > l1.y()) return true;
            return false;
        }
        
        boolean p1IsLeft = GeometryUtils.isPointLeftOfLine(p1, l1, l2);
        boolean p2IsLeft = GeometryUtils.isPointLeftOfLine(p2, l1, l2);
        
        if ((p1IsLeft && p2IsLeft) || (!p1IsLeft && !p2IsLeft))
            return true;
        
        return false;
    }