modifySubj.getSubjectType().getId()
modifySubj.getType().getName()
  private static void _reportMembers(List vals) {    _verbose("Results returned by query: " + vals.size());    if (grpQueryOn != null) {      GrouperGroup g = grpQueryOn; // Too damn much typing otherwise      System.out.println("name: " + g.name());      System.out.println("type: " + g.type());      System.out.println("stem: " + g.attribute("stem").value());      System.out.println("extn: " + g.attribute("extension").value());      System.out.println("groupID: " + g.id());      Subject createSubj  = g.createSubject();      Date   createDate   = g.createTime();      if ( (createSubj != null) && (createDate != null) ) {        System.out.println("createSubjectID: " + createSubj.getId());        System.out.println(          "createSubjectTypeID: " +           createSubj.getSubjectType().getId()        );        System.out.println(          "createTime: " + Long.toString(createDate.getTime())        );        System.out.println("createTimePretty: " + createDate);      };      Subject modifySubj  = g.modifySubject();      Date   modifyDate   = g.modifyTime();      if ( (modifySubj != null) && (modifyDate != null) ) {        System.out.println("modifySubjectID: " + modifySubj.getId());        System.out.println(          "modifySubjectTypeID: " +           modifySubj.getSubjectType().getId()        );        System.out.println(          "modifyTime: " + Long.toString(modifyDate.getTime())        );        System.out.println("modifyTimePretty: " + modifyDate);      };      Iterator iter = vals.iterator();      while (iter.hasNext()) {        GrouperList   gl  = (GrouperList) iter.next();        Group         v   = gl.via();        GrouperMember m   = gl.member();        String mem      = null;        if (m.typeID().equals("group")) {          Group gAsM = m.toGroup();          if (gAsM != null) {            mem = gAsM.name() + " (" + gAsM.type() + ")";          }         }        // If not set, take the safe approach        if (mem == null) {          mem = m.subjectID() + " (" + m.typeID() + ")";        }        if (v == null) {          System.out.println("immediateMember: " + mem);        } else {          System.out.println(            "effectiveMember: " + mem + " via " + v.name() +             " (" + v.type() + ")"          );        }      }      System.out.println();    }  }