assertEquals(viewE1, iter.next());
    assertEquals(viewE2, iter.next());
    assertFalse(iter.hasNext());
    
    //try with Sofa mappings
    UimaContextAdmin rootCtxt = UIMAFramework.newUimaContext(
            UIMAFramework.getLogger(), UIMAFramework.newDefaultResourceManager(),
            UIMAFramework.newConfigurationManager());
    Map<String, String> sofamap = new HashMap<String, String>();
    sofamap.put("SourceDocument","EnglishDocument");
    UimaContextAdmin childCtxt = rootCtxt.createChild("test", sofamap);
    cas.setCurrentComponentInfo(childCtxt.getComponentInfo());
    iter = this.cas.getViewIterator("SourceDocument");
    assertEquals(viewE1, iter.next());
    assertEquals(viewE2, iter.next());
    assertFalse(iter.hasNext());  
    this.cas.setCurrentComponentInfo(null);
    
    //repeat with JCas
    this.cas.reset();
    JCas jcas = this.cas.getJCas();
    JCas jview1 = jcas.createView("View1");
    JCas jview2 = jcas.createView("View2");
    Iterator<JCas> jCasIter = jcas.getViewIterator();
    assertEquals(jcas, jCasIter.next());
    assertEquals(jview1, jCasIter.next());
    assertEquals(jview2, jCasIter.next());
    assertFalse(jCasIter.hasNext());
    
    JCas jviewE1 = jcas.createView("EnglishDocument");
    JCas jviewE2 = jcas.createView("EnglishDocument.2");
    jCasIter = jcas.getViewIterator("EnglishDocument");
    assertEquals(jviewE1, jCasIter.next());
    assertEquals(jviewE2, jCasIter.next());
    assertFalse(jCasIter.hasNext());
    
    //try with Sofa mappings
    cas.setCurrentComponentInfo(childCtxt.getComponentInfo());
    jCasIter = jcas.getViewIterator("SourceDocument");
    assertEquals(jviewE1, jCasIter.next());
    assertEquals(jviewE2, jCasIter.next());
    assertFalse(jCasIter.hasNext());  
    this.cas.setCurrentComponentInfo(null);