code: @Override
      public <T> T createSpyComponent(final T instance) {
          checkArgument(instance != null, "instance must not be null!");
          if (isFinalOrPrimitive(instance.getClass())) {
              LOG.warn("Skipping creation of a spy : {} as it is final or primitive type.", instance.getClass()
                      .getSimpleName());
              return null;
          }
          return Mockito.spy(instance);
      }
docs: {@inheritDoc} Skipping creation, if the type is final or primitive.
  
  @return the mock object or null, if the type is final or primitive.