code: @Override
      public void setRequireFeatureWithTolerates(Map<String, Collection<String>> features) {
          // No need to copy (like we do in addRequireFeatureWithTolerates)
          // as we are overwriting anyway
          // need to allow for features being null, for legacy reasons
          Collection<RequireFeatureWithTolerates> set = null;
          Collection<String> collection = null;
          if (features != null) {
              set = new HashSet<RequireFeatureWithTolerates>();
              collection = new HashSet<String>();
              for (Map.Entry<String, Collection<String>> foo : features.entrySet()) {
                  RequireFeatureWithTolerates feature = new RequireFeatureWithTolerates();
                  feature.setFeature(foo.getKey());
                  feature.setTolerates(foo.getValue());
                  set.add(feature);
                  collection.add(foo.getKey());
              }
          }
          _asset.getWlpInformation().setRequireFeatureWithTolerates(set);
          _asset.getWlpInformation().setRequireFeature(collection);
      }
docs: {@inheritDoc}