docs: public Object get(Object arg0) {
          if (INSTALL_CODE.equals(arg0) && extract != null && installDir != null && (!extract.hasLicense() || licenseAccepted.booleanValue())) {
              ReturnCode rc = extract.validate(installDir);
              if (rc == ReturnCode.OK) {
                  rc = extract.extract(installDir, monitor);
              }
              data.put(INSTALL_CODE, new Integer(rc.getCode()));
              data.put(INSTALL_ERROR_MESSAGE, rc.getErrorMessage());
          } else if (LICENSE_AGREEMENT.equals(arg0)) {
              try {
                  return extract.hasLicense() ? new InputStreamReader(extract.getLicenseAgreement(), "UTF-16") : null;
              } catch (UnsupportedEncodingException e) {
                  return null;
              }
          } else if (LICENSE_INFO.equals(arg0)) {
              try {
                  return extract.hasLicense() ? new InputStreamReader(extract.getLicenseInformation(), "UTF-16") : null;
              } catch (UnsupportedEncodingException e) {
                  return null;
              }
          } else if (LICENSE_PRESENT.equals(arg0)) {
              return Boolean.valueOf(extract.hasLicense());
          } else if (HAS_EXTERNAL_DEPS.equals(arg0)) {
              return Boolean.valueOf(extract.hasExternalDepsFile());
          } else if (LIST_EXTERNAL_DEPS.equals(arg0)) {
              try {
                  return SelfExtractUtils.convertDependenciesListToMapsList(extract.getExternalDependencies());
              } catch (Exception e) {
                  return null;
              }
          } else if (ARCHIVE_CONTENT_TYPE.equals(arg0)) {
              return extract.getArchiveContentType();
          } else if (PROVIDED_FEATURES.equals(arg0)) {
              return extract.getProvidedFeatures();
          } else if (EXTERNAL_DEPS_DESCRIPTION.equals(arg0)) {
              try {
                  return extract.getExternalDependencies().getDescription();
              } catch (Exception e) {
                  return null;
              }
          } else if (DOWNLOAD_MONITOR_SIZE.equals(arg0)) {
              return new Integer(extract.getTotalDepsSize());
          } else if (CLOSE.equals(arg0)) {
              return close();
          }
          return data.get(arg0);
      }