public List<AtomicRegion> GetRemainingRegionsFromParser(FigSynthProblem problem)
        {
            // Acquire all the figures we are subtracting.
            // false indicates an implied addition at the beginning.
            List<Figure> figures = problem.CollectSubtractiveFigures(false);

            // Acquire the remaining atomic regions.
            List<AtomicRegion> atoms = parser.implied.GetAtomicRegionsNotByFigures(figures);

            if (Utilities.FIGURE_SYNTHESIZER_DEBUG)
            {
                if (atoms.Count == 1)
                {
                    System.Diagnostics.Debug.WriteLine("Remaining atom area: " + (atoms[0] as ShapeAtomicRegion).shape.CoordinatizedArea());
                }
            }

            return atoms;
        }