public FixedCellSubPanel( FixedCellPanel parentPanel )
    {
      if( parentPanel == null )
        throw new ArgumentNullException( "parentPanel" );

      m_parentPanel = parentPanel;
    }
    // The visualParent is passed to the base constructor because it is mandatory, but 
    // the element's visual parent will always be either the fixed or the scrolling sub 
    // panel. This is one of the reason why we don't use the base implementation of this
    // class functions.
    public VirtualizingUICellCollection( Panel fixedPanel, Panel scrollingPanel, FixedCellPanel parentFixedCellPanel )
      : base( parentFixedCellPanel, parentFixedCellPanel )
    {
      if( fixedPanel == null )
        throw new ArgumentNullException( "fixedPanel" );
      if( scrollingPanel == null )
        throw new ArgumentNullException( "scrollingPanel" );
      if( parentFixedCellPanel == null )
        throw new ArgumentNullException( "parentFixedCellPanel" );

      m_fixedPanel = fixedPanel;
      m_scrollingPanel = scrollingPanel;
      m_parentFixedCellPanel = parentFixedCellPanel;
    }
 public VirtualizingFixedCellSubPanel( FixedCellPanel parentPanel )
   : base( parentPanel )
 {
 }