code: @Override
      public Map<String, Collection<String>> getRequireFeatureWithTolerates() {
          // The feature may be an older feature which never had the tolerates information
          // stored, in which case, look in the older requireFeature field and massage
          // that info into the required format.
          // Or there may just not be any required features at all.
          Collection<RequireFeatureWithTolerates> rfwt = _asset.getWlpInformation().getRequireFeatureWithTolerates();
          if (rfwt != null) {
              Map<String, Collection<String>> rv = new HashMap<String, Collection<String>>();
              for (RequireFeatureWithTolerates feature : rfwt) {
                  rv.put(feature.getFeature(), feature.getTolerates());
              }
              return rv;
          }
  
          // Newer field not present, check the older field
          Collection<String> rf = _asset.getWlpInformation().getRequireFeature();
          if (rf != null) {
              Map<String, Collection<String>> rv = new HashMap<String, Collection<String>>();
              for (String feature : rf) {
                  rv.put(feature, Collections.<String> emptyList());
              }
              return rv;
          }
  
          // No required features at all
          return null;
      }
docs: {@inheritDoc}