# File lib_wpm/wpm.rb, line 3825
    def new_page(name, xml_assist, option={}, parent_component=nil)
      path = @load_path.look_up(name)
      page_id = Page.page_id(name, parent_component)
      if (page = @page_cache.fetch(path, page_id)) then
        if (! page.modified?) then
          if (page.parent_component == parent_component) then
            yield(page) if block_given?
            page.recompile
            return page
          end
        end
      end

      page = Page.new(name, self, xml_assist, option)
      page.parent_component = parent_component
      yield(page) if block_given?
      page.compile
      @page_cache.store(path, page_id, page)

      page
    end