code: public synchronized static Set<MeasureUnit> getAvailable(String type) {
          populateCache();
          Map<String, MeasureUnit> units = cache.get(type);
          // Train users not to modify returned set from the start giving us more
          // flexibility for implementation.
          return units == null ? Collections.<MeasureUnit>emptySet()
                  : Collections.unmodifiableSet(new HashSet<MeasureUnit>(units.values()));
      }
docs: For the given type, return the available units.
  @param type the type
  @return the available units for type. Returned set is unmodifiable.