public boolean hasField(ValueMember field) {

    for (int i = 0; i < fields.length; i++) {
      try {
        if (fields[i].getName().equals(field.name)) {

          if (fields[i].getSignature().equals(ValueUtility.getSignature(field))) return true;
        }
      } catch (Throwable t) {
      }
    }
    return false;
  }