public void addPoint(final IPoint pt, final int position) {
super.addPoint(pt, position);
// Adding the control points.
if(GLibUtilities.isValidPoint(pt) && position>=-1 && position<points.size()) {
final IPoint ctrlPt = ShapeFactory.createPoint(pt.getX(), pt.getY()+DEFAULT_POSITION_CTRL);
if(position==-1) {
firstCtrlPts.add(ctrlPt);
secondCtrlPts.add(ctrlPt.centralSymmetry(pt));
} else {
firstCtrlPts.add(position, ctrlPt);
secondCtrlPts.add(position, ctrlPt.centralSymmetry(pt));
}
}
}