code: @Override
      protected LicenseProvider createLicenseProvider(String licenseAgreementPrefix, String licenseInformationPrefix,
                                                      String subsystemLicenseType) {
          String featureLicenseAgreementPrefix = this.featureName + "/" + licenseAgreementPrefix;
          String featureLicenseInformationPrefix = licenseInformationPrefix == null ? null : this.featureName + "/" + licenseInformationPrefix;
          if (featureLicenseInformationPrefix == null) {
              LicenseProvider lp = ZipLicenseProvider.createInstance(zip, featureLicenseAgreementPrefix);
              if (lp != null)
                  return lp;
          } else {
              wlp.lib.extract.ReturnCode licenseReturnCode = ZipLicenseProvider.buildInstance(zip, featureLicenseAgreementPrefix,
                                                                                              featureLicenseInformationPrefix);
              if (licenseReturnCode == wlp.lib.extract.ReturnCode.OK) {
                  // Everything is set up ok so carry on
                  return ZipLicenseProvider.getInstance();
              }
          }
          // An error indicates that the IBM licenses could not be found so we can use the subsystem header
          if (subsystemLicenseType != null && subsystemLicenseType.length() > 0) {
              return new ThirdPartyLicenseProvider(featureDefinition.getFeatureName(), subsystemLicenseType);
          }
          return null;
      }
docs: will need to override