private ResName resolveResource(TypedResource value, ResTable_config config, ResName resName) {
    while (value != null && value.isReference()) {
      String s = value.asString();
      if (AttributeResource.isNull(s) || AttributeResource.isEmpty(s)) {
        value = null;
      } else {
        String refStr = s.substring(1).replace("+", "");
        resName = ResName.qualifyResName(refStr, resName);
        value = resourceTable.getValue(resName, config);
      }
    }

    return resName;
  }
private ResName resolveResource(TypedResource value, ResTable_config config, ResName resName) {
    while (value != null && value.isReference()) {
      String s = value.asString();
      if (AttributeResource.isNull(s) || AttributeResource.isEmpty(s)) {
        value = null;
      } else {
        String refStr = s.substring(1).replace("+", "");
        resName = ResName.qualifyResName(refStr, resName);
        value = resourceTable.getValue(resName, config);
      }
    }

    return resName;
  }
private ResName resolveResource ( TypedResource value , ResTable_config config , ResName resName ) { while ( value != null && value . isReference ( ) ) { String s = value . asString ( ) ; if ( AttributeResource . isNull ( s ) || AttributeResource . isEmpty ( s ) ) { value = null ; } else { String refStr = s . substring ( 1 ) . replace ( "+" , "" ) ; resName = ResName . qualifyResName ( refStr , resName ) ; value = resourceTable . getValue ( resName , config ) ; } } return resName ; }
todo: DRY up #resolveResource vs #resolveResourceValue
todo : DRY up #resolveResource vs #resolveResourceValue