private HashMap addAttr(SvcReg reg,EntryClass eclass,int fldidx,Object value){
  HashMap[] attrMaps=(HashMap[])serviceByAttr.get(eclass);
  if (attrMaps == null) {
    attrMaps=new HashMap[eclass.getNumFields()];
    serviceByAttr.put(eclass,attrMaps);
  }
  HashMap map=attrMaps[fldidx];
  if (map == null) {
    map=new HashMap(11);
    attrMaps[fldidx]=map;
  }
  ArrayList regs=(ArrayList)map.get(value);
  if (regs == null) {
    regs=new ArrayList(3);
    map.put(value,regs);
  }
 else   if (regs.contains(reg))   return map;
  regs.add(reg);
  return map;
}

private HashMap addAttr ( SvcReg reg , EntryClass eclass , int fldidx , Object value ) { HashMap [ ] attrMaps = ( HashMap [ ] ) serviceByAttr . get ( eclass ) ; if ( attrMaps == null ) { attrMaps = new HashMap [ eclass . getNumFields ( ) ] ; serviceByAttr . put ( eclass , attrMaps ) ; } HashMap map = attrMaps [ fldidx ] ; if ( map == null ) { map = new HashMap ( 11 ) ; attrMaps [ fldidx ] = map ; } ArrayList regs = ( ArrayList ) map . get ( value ) ; if ( regs == null ) { regs = new ArrayList ( 3 ) ; map . put ( value , regs ) ; } else if ( regs . contains ( reg ) ) return map ; regs . add ( reg ) ; return map ; }
put the service under the given attribute value for the given defining class and field , if it isn ' t already there . return the hashmap for the given class and field .
