code: Collection<Double> getAllKeywordValues(String keyword) {
          // HACK for now
          if (!pluralRules.getKeywords().contains(keyword)) {
              return Collections.<Double>emptyList();
          }
          Collection<Double> result = getKeySamplesMap().get(keyword);
  
          // We depend on MAX_SAMPLES here.  It's possible for a conjunction
          // of unlimited rules that 'looks' unlimited to return a limited
          // number of values.  There's no bounds to this limited number, in
          // general, because you can construct arbitrarily complex rules.  Since
          // we always generate 3 samples if a rule is really unlimited, that's
          // where we put the cutoff.
          if (result.size() > 2 && !_keyLimitedMap.get(keyword)) {
              return null;
          }
          return result;
      }
docs: Returns all the values that trigger this keyword, or null if the number of such
  values is unlimited.
  
  @param keyword the keyword
  @return the values that trigger this keyword, or null.  The returned collection
  is immutable. It will be empty if the keyword is not defined.