code: static String readAnyField(Object obj, String ... names) {
          try {
              for (String name : names) {
                  try {
                      Field field = obj.getClass().getDeclaredField(name);
                      field.setAccessible(true);
                      return (String) field.get(obj);
                  } catch (NoSuchFieldException e) {
                      //ignore and try next field...
                  }
              }
              return null;
          } catch (IllegalAccessException e) {
              return null;
          }
      }
docs: Read any field that matches the specified name.
  @param obj       The obj to read from.
  @param names     The var-arg of names.
  @return          The value of the first field that matches or null if no match is found.