code: public static <B> MutableClassToInstanceMap<B> create(Map<Class<? extends B>, B> backingMap) {
      return new MutableClassToInstanceMap<B>(backingMap);
    }
docs: Returns a new {@code MutableClassToInstanceMap} instance backed by a given empty {@code
  backingMap}. The caller surrenders control of the backing map, and thus should not allow any
  direct references to it to remain accessible.