code: @SuppressWarnings("unchecked")
      private static void injectComponent(final FacadeReady<?> component, final Field field, final Object... keyParts) {
  
          try {
              if (Command.class.isAssignableFrom(field.getType())) {
                  ClassUtility.setFieldValue(field, component, component.localFacade().globalFacade().commandFacade().retrieve((Class<Command>) field.getType(), keyParts));
              } else if (Service.class.isAssignableFrom(field.getType())) {
                  ClassUtility.setFieldValue(field, component, component.localFacade().globalFacade().serviceFacade().retrieve((Class<Service>) field.getType(), keyParts));
              } else if (Model.class.isAssignableFrom(field.getType())) {
                  ClassUtility.setFieldValue(field, component, component.localFacade().globalFacade().uiFacade().retrieve((Class<Model>) field.getType(), keyParts));
              }
          } catch (IllegalArgumentException | CoreException e) {
              LOGGER.error(COMPONENT_INJECTION_FAILURE, component.getClass(), e);
          }
  
      }
docs: Inject a component into the property of an other.
  
  @param component the component
  @param field the field
  @param keyParts the key parts