code: private static boolean isRunnable(FilterTargetData targetData, List<FilterDefinition> filters) {
          if (filters == null || filters.isEmpty()) {
              return true;
          }
  
          for (FilterDefinition filterDefinition : filters) {
              String type = filterDefinition.getType();
              String text = filterDefinition.getText();
  
              if (type == null || type.isEmpty()) {
                  type = "*";
              }
  
              // We must evaluate all the filters and return only when there is a valid match
              if (
                  (type.equalsIgnoreCase("*") && targetData.anyMatch(text)) || // Any filter
                      ("key".equalsIgnoreCase(type) && targetData.keyMatch(text)) || // Key filter
                      ("fp".equalsIgnoreCase(type) && targetData.fingerpringMatch(text)) || // Fingerprint filter
                      ("name".equalsIgnoreCase(type) && targetData.nameMatch(text)) || // Name filter
                      ("tag".equalsIgnoreCase(type) && targetData.tagMatch(text)) || // Tag filter
                      ("ticket".equalsIgnoreCase(type) && targetData.ticketMatch(text)) // Ticket filter
                  ) {
                  return true;
              }
          }
  
          return false;
      }
docs: Define if a test is runnable based on the object that represents the test meta data
  
  @param targetData The meta data
  @param filters The filters
  @return True if the test can be run