code: public static boolean handleIfNoneMatch(final String ifNoneMatch, final List<ETag> etags, boolean allowWeak) {
          if (ifNoneMatch == null) {
              return true;
          }
          List<ETag> parts = parseETagList(ifNoneMatch);
          for (ETag part : parts) {
              if (part.getTag().equals("*")) {
                  return false;
              }
              if (part.isWeak() && !allowWeak) {
                  continue;
              }
              for (ETag tag : etags) {
                  if (tag != null) {
                      if (tag.isWeak() && !allowWeak) {
                          continue;
                      }
                      if (tag.getTag().equals(part.getTag())) {
                          return false;
                      }
                  }
              }
          }
          return true;
      }
docs: Handles the if-none-match header. returns true if the request should proceed, false otherwise
  
  @param ifNoneMatch the header
  @param etags       The etags
  @return