public SoftwareViewport(SoftwareViewport softwareViewport, IMenuCallback menuCallback)
     : this(menuCallback)
 {
     DynamicFilter = softwareViewport.DynamicFilter;
     StaticFilter  = softwareViewport.StaticFilter;
     ParentRow     = softwareViewport.ParentRow;
     ParentType    = softwareViewport.ParentType;
 }
        public override Viewport Duplicate()
        {
            var viewport = new SoftwareViewport(this, MenuCallback);

            if (viewport.CanLoadData())
            {
                viewport.LoadData();
            }
            if (_vSoftware.Count > 0)
            {
                viewport.LocateSoftware(((DataRowView)_vSoftware[_vSoftware.Position])["ID Software"] as int? ?? -1);
            }
            return(viewport);
        }