private static LineDraft CreateLineDraft(SideGenerationSettings settings)
        {
            var result = LineDraft.Create();

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

            result.forwardScale = settings.forwardScale;

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

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

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

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

            Utils.DeleteChilds(draft.parent);

            var lineDraft = LineDraft.Create(draft);

            lineDraft.Parse(draft.parent);
            (builder as ILineBuilder).Build(lineDraft);

            if (isRunDecorators)
            {
                Utils.RunDecorators(lineDraft.parent);
            }
        }