private void Build()
        {
            if (builder == null)
            {
                return;
            }

            if (draft.parent == null)
            {
                return;
            }

            Utils.DeleteChilds(draft.parent);

            for (int x = 0; x < repeatRight; x++)
            {
                var columnDraft = ColumnDraft.Create(draft);
                columnDraft.Parse(draft.parent);

                columnDraft.pivot = columnDraft.pivot
                                    + columnDraft.right * columnDraft.length * x;

                (builder as IColumnBuilder).Build(columnDraft);

                if (isRunDecorators)
                {
                    Utils.RunDecorators(draft.parent);
                }
            }
        }
        private static ColumnDraft CreateColumnDraft(LineGenerationSettings settings)
        {
            var result = ColumnDraft.Create();

            result.length = settings.length;
            result.height = settings.height;

            result.isHorizontalMrror = false;
            result.forwardScale      = settings.forwardScale;

            result.parent = settings.parent;
            result.pivot  = settings.pivot;

            result.up    = settings.up;
            result.right = settings.right;

            return(result);
        }