code: public void add(String name, String value) {
          if (name == null) throw new NullPointerException("name == null");
          if (name.isEmpty()) throw new IllegalArgumentException("name is empty");
          if (value == null) throw new NullPointerException("value == null");
  
          if (mHeaderMap == null) {
              mHeaderMap = new HashMap<>();
          }
  
          List<String> values = mHeaderMap.get(name);
          if (values == null) {
              values = new ArrayList<>();
              mHeaderMap.put(name, values);
          }
  
          if (!values.contains(value)) {
              values.add(value);
          }
      }
docs: We have already handled etag, and will add 'If-Match' & 'Range' value if it works.
  
  @see com.liulishuo.filedownloader.download.ConnectTask#addUserRequiredHeader