wxLogMessage(_T("Test - %s:"), label.c_str());
 }
 
-void ItemContainerWidgetsPage::EndTest(const wxMaybeSortedArrayString& items)
+void ItemContainerWidgetsPage::EndTest(const wxArrayString& items)
 {
     const unsigned count = m_container->GetCount();
 
 }
 
 wxString
-ItemContainerWidgetsPage::DumpContainerData(const wxMaybeSortedArrayString& expected) const
+ItemContainerWidgetsPage::DumpContainerData(const wxArrayString& expected) const
 {
     wxString str;
     str << _T("Current content:\n");
     return true;
 }
 
+/* static */
+wxArrayString
+ItemContainerWidgetsPage::MakeArray(const wxSortedArrayString& sorted)
+{
+    wxArrayString a;
+
+    const size_t count = sorted.size();
+    a.reserve(count);
+    for ( size_t n = 0; n < count; n++ )
+        a.push_back(sorted[n]);
+
+    return a;
+}
+
 void ItemContainerWidgetsPage::OnButtonTestItemContainer(wxCommandEvent&)
 {
     m_container = GetContainer();
                  GetWidget()->GetClassInfo()->GetClassName(),
                  (m_container->IsSorted() ? "Sorted" : "Unsorted"));
 
-    const wxMaybeSortedArrayString&
-        expected_result = m_container->IsSorted() ? m_itemsSorted
-                                                   : m_items;
+    const wxArrayString
+        expected_result = m_container->IsSorted() ? MakeArray(m_itemsSorted)
+                                                  : m_items;
 
     StartTest(_T("Append one item"));
     wxString item = m_items[0];
 
 
 #include "widgets.h"
 
-// define a common base class for sorted and normal string arrays
-#if wxUSE_STL
-    typedef wxBaseArrayStringBase wxMaybeSortedArrayString;
-#else
-    // in non-STL build wxSortedArrayString derives from wxArrayString
-    typedef wxArrayString wxMaybeSortedArrayString;
-#endif
-
 class ItemContainerWidgetsPage : public WidgetsPage
 {
 public:
 
 private:
     void StartTest(const wxString& label);
-    void EndTest(const wxMaybeSortedArrayString& result);
+    void EndTest(const wxArrayString& result);
 
     // Track client data in wxItemContainer instances
     wxClientData* CreateClientData(int value);
     bool VerifyAllClientDataDestroyed();
     bool VerifyClientData(wxUIntPtr i, const wxString& str);
 
-    wxString DumpContainerData(const wxMaybeSortedArrayString& expected) const;
+    wxString DumpContainerData(const wxArrayString& expected) const;
+
+    static wxArrayString MakeArray(const wxSortedArrayString& sorted);
 
     wxArrayString       m_items;
     wxSortedArrayString m_itemsSorted;