code: public T get(Class<?> clazz) {
          if(map == null || map.isEmpty()) {
              return null;
          }
          Class<?> classToInspect = clazz;
          T object = map.get(classToInspect);
          if(object == null && !excludeInterfaces) {
              object = getByInterfaces(classToInspect);
          }
          while (object == null && classToInspect.getSuperclass() != null) {
              classToInspect = classToInspect.getSuperclass();
              object = map.get(classToInspect);
              if(object == null && !excludeInterfaces) {
                  object = getByInterfaces(classToInspect);
              }
          }
          return object;
      }
docs: Returns the value of a map entry which key matches the supplied class
  or any of its super classes or any of its interfaces.
  
  Values are resolved using the most specific classes and interfaces first
  and then more general (base classes).
  
  @param clazz Class to resolve value for by inspecting the class META data.
  
  @return value found for the supplied class or null if no value could be resolved.