diff --git a/core/src/main/java/org/apache/sling/testing/mock/osgi/MockOsgi.java b/core/src/main/java/org/apache/sling/testing/mock/osgi/MockOsgi.java
index b975c22..5ffdf83 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/osgi/MockOsgi.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/osgi/MockOsgi.java
@@ -167,6 +167,7 @@
      * This method instantiates the service instance and also supports constructor injection.
      * @param targetClass Component/service class
      * @param bundleContext Bundle context from which services are fetched to inject.
+     * @param <T> Target class type
      * @return Component/service instances with injected services
      */
     public static @NotNull <T> T activateInjectServices(@NotNull Class<T> targetClass, @NotNull BundleContext bundleContext) {
@@ -180,6 +181,7 @@
      * @param targetClass Component/service class
      * @param bundleContext Bundle context from which services are fetched to inject.
      * @param properties Service properties (used to resolve dynamic reference properties)
+     * @param <T> Target class type
      * @return Component/service instances with injected services
      */
     public static @NotNull <T> T activateInjectServices(@NotNull Class<T> targetClass, @NotNull BundleContext bundleContext, @Nullable Map<String, Object> properties) {
@@ -195,6 +197,7 @@
      * @param targetClass Component/service class
      * @param bundleContext Bundle context from which services are fetched to inject.
      * @param properties Service properties (used to resolve dynamic reference properties)
+     * @param <T> Target class type
      * @return Component/service instances with injected services
      */
     public static @NotNull <T> T activateInjectServices(@NotNull Class<T> targetClass, @NotNull BundleContext bundleContext,  @NotNull Object @NotNull ... properties) {
diff --git a/core/src/main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java b/core/src/main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java
index f18c40f..b288731 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java
@@ -172,7 +172,7 @@
      * Injects dependencies, activates and registers a service in the mocked OSGi environment.
      * Construction injection for OSGi services is supported.
      * @param <T> Service type
-     * @param service Service class
+     * @param serviceClass Service class
      * @return Registered service instance
      */
     public final @NotNull <T> T registerInjectActivateService(@NotNull final Class<T> serviceClass) {
@@ -183,7 +183,7 @@
      * Injects dependencies, activates and registers a service in the mocked OSGi environment.
      * Construction injection for OSGi services is supported.
      * @param <T> Service type
-     * @param service Service class
+     * @param serviceClass Service class
      * @param properties Service properties (optional)
      * @return Registered service instance
      */
@@ -196,7 +196,7 @@
     /**
      * Injects dependencies, activates and registers a service in the mocked OSGi environment.
      * @param <T> Service type
-     * @param service Service instance
+     * @param serviceClass Service instance
      * @param properties Service properties (optional)
      * @return Registered service instance
      */
