public Image Draw()
{
sanityCheck();
calculateSegmentsAngles();
initValues();
createTemplate();
drawArea();
drawCircle();
drawSegments();
restoreStates();
return Image.GetInstance(_template);
}