Point point2 = (Point)step.getInputs()[1];
Point point3 = (Point)step.getInputs()[2];
Line line12 = new Line(point1, point2);
Line line23 = new Line(point2, point3);
if (!((line12.isParallel(line23))||(point1.equalTo(point2))
|| (point2.equalTo(point3)) || (point3.equalTo(point1)))) {
Circle newCircle = new Circle(point1, point2, point3);
newCircle.addToObjects(objects);
clearAndHide();
step.setOutputs(new Object[]{newCircle.getCentre(), newCircle});
fireUndoableEditUpdate(new UndoableEditEvent(this, step));