code: public void setPreferredVersion(String featureName, String version) {
          if (!symbolicNameToFeature.containsKey(featureName)) {
              featureName = publicNameToSymbolicName.get(featureName);
          }
  
          if (featureName != null) {
              try {
                  Version v = Version.parseVersion(version);
                  symbolicNameToPreferredVersion.put(featureName, v);
              } catch (IllegalArgumentException ex) {
              }
          }
      }
docs: Set the preferred version of the given feature
  <p>
  This is for when a user requests that a specific version should be installed.
  <p>
  If the feature is not in the repository or the version does not parse, this method does nothing.
  <p>
  When a preferred version is set, {@link #getFeature(String)} will return the preferred version if available, unless another version is already installed.
  
  @param featureName the short or symbolic feature name
  @param version the version