docs: @SuppressWarnings("unchecked")
      @Override
      public <T> T onSingletonProviderInit(T provider, Object context, Message m) {
          if (context == null) {
              return null;
          }
          Map<Class<?>, ManagedObject<?>> newContext = (Map<Class<?>, ManagedObject<?>>) (context);
          if (newContext.isEmpty()) {
              return null;
          }
          ManagedObject<?> managedObject = newContext.get(provider.getClass());
          Object newProviderObject = null;
          if (managedObject == null) {
              newProviderObject = getInstanceFromManagedObject(provider, context);
          } else {
              newProviderObject = managedObject.getObject();
          }
  
          return (T) newProviderObject;
      }