code: public MarcField matchValue(Pattern pattern) {
          if (value != null && pattern.matcher(value).matches()) {
              return this;
          }
          for (Subfield subfield : subfields) {
              if (pattern.matcher(subfield.getValue()).matches()) {
                  return this;
              }
          }
          return null;
      }
docs: Search for fields that match a pattern.
  @param pattern the pattern to match
  @return thhis MARC field if pattern matches, or null if not