Detecting Circular Dependencies In a Java Project