code: public void preCheck(UninstallAsset uninstallAsset) throws InstallException {
          if (uninstallAsset.getType().equals(UninstallAssetType.feature)) {
              ESAAdaptor.preCheck(uninstallAsset, uninstallAsset.getProvisioningFeatureDefinition(),
                                  getBaseDir(uninstallAsset.getProvisioningFeatureDefinition()));
          } else if (uninstallAsset.getType().equals(UninstallAssetType.fix)) {
              FixAdaptor.preCheck(uninstallAsset.getIFixInfo(), product.getInstallDir());
          }
      }
docs: Determines which preCheck method to call based on the uninstalLAsset type
  
  @param uninstallAsset UninstallAsset to be uninstalled
  @param checkDependency If dependencies should be checked
  @throws InstallException