public void addBezierCurve(BezierCurve bezierCurve)
 {
     bezierCurves.Add(bezierCurve);
 }
        public static Hashtable getCurvesFromFile(String filePath)
        {
            Hashtable table = new Hashtable();

            StreamReader sr = new StreamReader(filePath);

            String line;

            Boolean isStart = true;
            Boolean isStartAndPoints = false;

            BezierCurve bezierCurve = new BezierCurve();

            Point startPoint = new Point();
            Point endPoint = new Point();

            while (!sr.EndOfStream)
            {
                line = sr.ReadLine();
                if (line.ElementAt(0) == '#')
                {
                    if (isStart)
                    {
                        isStart = false;
                    }
                    else
                    {
                        table.Add(new Line(startPoint, endPoint), bezierCurve);
                        startPoint = new Point();
                        endPoint = new Point();
                        bezierCurve = new BezierCurve();

                        Line tempLine = new Line(startPoint, endPoint);

                        Boolean fuck = table.ContainsKey(tempLine);
                    }

                    isStartAndPoints = true;
                }
                else if (isStartAndPoints)
                {
                    isStartAndPoints = false;

                    int i = 0;

                    while (line[i] != ' ') i++;

                    startPoint = Utility.getPointFromString(line.Substring(0, i));

                    endPoint = Utility.getPointFromString(line.Substring(i + 1));
                }
                else
                {
                    Bezier bezier = getBezierFromString(line);

                    bezierCurve.addBezier(bezier);
                }
            }

            sr.Close();

            return table;
        }