code: public static ZipExtraField createExtraField(ZipShort headerId)
        throws InstantiationException, IllegalAccessException {
      Class<?> c = implementations.get(headerId);
      if (c != null) {
        return (ZipExtraField) c.newInstance();
      }
      UnrecognizedExtraField u = new UnrecognizedExtraField();
      u.setHeaderId(headerId);
      return u;
    }
docs: Create an instance of the appropriate ExtraField, falls back to {@link UnrecognizedExtraField UnrecognizedExtraField}.
  
  @param headerId the header identifier
  @return an instance of the appropriate ExtraField
  @exception InstantiationException if unable to instantiate the class
  @exception IllegalAccessException if not allowed to instantiate the class
  @since 1.1