chain.add( new MemberVia( new GrouperList( this.s, group, glM.member(), glM.groupField() ) ) );
  private List _addWhereIsMem(GrouperList gl, List isMem) {    List vals = new ArrayList();    Iterator iter = isMem.iterator();    while (iter.hasNext()) {      GrouperList glM = (GrouperList) iter.next();      glM.load(this.s);      List chain = new ArrayList();      // TODO Is this correct?  More tests needed.      chain.addAll( gl.chain() );   // Add the chain leading to gl      if (glM.member().typeID().equals("group")) {        chain.add( new MemberVia(glM) );  // Add g's mship      }      chain.addAll( glM.chain() );  // Add the chain leading to g's mship              // Add m to where g is a member      vals.add(        new GrouperList(              this.s, glM.group(), gl.member(), gl.groupField(), chain            )        );    }    return vals;  }