diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/ApplicationServerApi.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/ApplicationServerApi.java
index ba49249c15ea42d9192aeca85e4bb449faad6aec..39de67312ed9c7d5eec2f55415bc2b4c36b52e5c 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/ApplicationServerApi.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/ApplicationServerApi.java
@@ -69,6 +69,7 @@ import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.ISampleId;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.SamplePermId;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.search.SampleSearchCriteria;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.update.SampleUpdate;
+import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.ExecutionOptions;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.Service;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.fetchoptions.ServiceFetchOptions;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.id.IServiceId;
@@ -608,9 +609,9 @@ public class ApplicationServerApi extends AbstractServer<IApplicationServerApi>
     @Override
     @RolesAllowed({ RoleWithHierarchy.SPACE_OBSERVER, RoleWithHierarchy.SPACE_ETL_SERVER })
     @Capability("EXECUTE_SERVICE")
-    public Serializable executeService(String sessionToken, IServiceId serviceId, Map<String, Serializable> parameters)
+    public Serializable executeService(String sessionToken, IServiceId serviceId, ExecutionOptions options)
     {
-        return executeServiceExecutor.executeService(sessionToken, serviceId, parameters);
+        return executeServiceExecutor.executeService(sessionToken, serviceId, options);
     }
 
     @Override
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/ApplicationServerApiLogger.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/ApplicationServerApiLogger.java
index 899273b421ac38ce9a4fb196907860b124c14c53..2d313da5903e47eea1db22545ca9ac9a8a8e3073 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/ApplicationServerApiLogger.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/ApplicationServerApiLogger.java
@@ -65,6 +65,7 @@ import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.ISampleId;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.SamplePermId;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.search.SampleSearchCriteria;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.update.SampleUpdate;
+import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.ExecutionOptions;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.Service;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.fetchoptions.ServiceFetchOptions;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.id.IServiceId;
@@ -350,14 +351,14 @@ public class ApplicationServerApiLogger extends AbstractServerLogger implements
     @Override
     public SearchResult<Service> searchServices(String sessionToken, ServiceSearchCriteria searchCriteria, ServiceFetchOptions fetchOptions)
     {
-        logAccess(sessionToken, "search-services", "SEARCH_CRITERIA(%s) FETCH_OPTIONS(%s)", searchCriteria, fetchOptions);
+        logAccess(sessionToken, "search-services", "SEARCH_CRITERIA:\n%s\nFETCH_OPTIONS:\n%s\n", searchCriteria, fetchOptions);
         return null;
     }
 
     @Override
-    public Serializable executeService(String sessionToken, IServiceId serviceId, Map<String, Serializable> parameters)
+    public Serializable executeService(String sessionToken, IServiceId serviceId, ExecutionOptions options)
     {
-        logAccess(sessionToken, "execute-service", "SERVICE_ID(%s) PARAMETERS(%s)", serviceId, parameters);
+        logAccess(sessionToken, "execute-service", "SERVICE_ID(%s) EXECUTION_OPTIONS(%s)", serviceId, options);
         return null;
     }
 
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/ExecuteServiceMethodExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/ExecuteServiceMethodExecutor.java
index 930d06911c087ab950cf79845d985b8df24d79d6..90bbb598118fa806ea942de62d8d48e657195c67 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/ExecuteServiceMethodExecutor.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/ExecuteServiceMethodExecutor.java
@@ -22,12 +22,13 @@ import java.util.Map;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.ExecutionOptions;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.id.IServiceId;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.id.ServiceCode;
 import ch.ethz.sis.openbis.generic.as.api.v3.exceptions.ObjectNotFoundException;
 import ch.ethz.sis.openbis.generic.as.api.v3.exceptions.UnsupportedObjectIdException;
-import ch.ethz.sis.openbis.generic.as.api.v3.plugin.IServiceExecutor;
-import ch.ethz.sis.openbis.generic.as.api.v3.plugin.context.ServiceContext;
+import ch.ethz.sis.openbis.generic.as.api.v3.plugin.service.IServiceExecutor;
+import ch.ethz.sis.openbis.generic.as.api.v3.plugin.service.context.ServiceContext;
 
 /**
  * 
@@ -41,7 +42,7 @@ public class ExecuteServiceMethodExecutor implements IExecuteServiceMethodExecut
     private IServiceProvider serviceProvider;
 
     @Override
-    public Serializable executeService(String sessionToken, IServiceId serviceId, Map<String, Serializable> parameters)
+    public Serializable executeService(String sessionToken, IServiceId serviceId, ExecutionOptions options)
     {
         if (serviceId instanceof ServiceCode == false)
         {
@@ -55,7 +56,7 @@ public class ExecuteServiceMethodExecutor implements IExecuteServiceMethodExecut
         }
         ServiceContext serviceContext = new ServiceContext();
         serviceContext.setSessionToken(sessionToken);
-        return serviceExecutor.executeService(parameters, serviceContext);
+        return serviceExecutor.executeService(serviceContext, options);
     }
 
 }
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/IExecuteServiceMethodExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/IExecuteServiceMethodExecutor.java
index 13b137f37d336aa68f454948f4dbd51b6f08b4d4..1fbed030446776d4981cfff3631a3009ae32475e 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/IExecuteServiceMethodExecutor.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/IExecuteServiceMethodExecutor.java
@@ -17,8 +17,8 @@
 package ch.ethz.sis.openbis.generic.server.api.v3.executor.method;
 
 import java.io.Serializable;
-import java.util.Map;
 
+import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.ExecutionOptions;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.id.IServiceId;
 
 /**
@@ -28,5 +28,5 @@ import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.id.IServiceId;
  */
 public interface IExecuteServiceMethodExecutor
 {
-    public Serializable executeService(String sessionToken, IServiceId serviceId, Map<String, Serializable> parameters);
+    public Serializable executeService(String sessionToken, IServiceId serviceId, ExecutionOptions options);
 }
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/IServiceProvider.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/IServiceProvider.java
index bb6313daf4c9f9d736c5970e3cf27830d7e87cf4..2ad226d753ba8ea2106225fab86d35d8bd8aad25 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/IServiceProvider.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/IServiceProvider.java
@@ -19,7 +19,7 @@ package ch.ethz.sis.openbis.generic.server.api.v3.executor.method;
 import java.util.List;
 
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.Service;
-import ch.ethz.sis.openbis.generic.as.api.v3.plugin.IServiceExecutor;
+import ch.ethz.sis.openbis.generic.as.api.v3.plugin.service.IServiceExecutor;
 
 /**
  * 
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/ServiceProvider.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/ServiceProvider.java
index f9a04b81ece6955181ab7b573b8d2f648afe963b..163ffd241add7021b1f319dabc87cffadc6c517f 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/ServiceProvider.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/executor/method/ServiceProvider.java
@@ -30,7 +30,7 @@ import org.springframework.stereotype.Component;
 
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.Service;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.id.ServiceCode;
-import ch.ethz.sis.openbis.generic.as.api.v3.plugin.IServiceExecutor;
+import ch.ethz.sis.openbis.generic.as.api.v3.plugin.service.IServiceExecutor;
 import ch.systemsx.cisd.common.properties.PropertyParametersUtil;
 import ch.systemsx.cisd.common.properties.PropertyParametersUtil.SectionProperties;
 import ch.systemsx.cisd.common.properties.PropertyUtils;
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/IScriptRunnerFactory.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/IScriptRunnerFactory.java
index b5248d84826307f85280b78952aafee82e9fc014..4ac293d95c03b20a1877108246694d50e681e289 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/IScriptRunnerFactory.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/IScriptRunnerFactory.java
@@ -16,7 +16,7 @@
 
 package ch.ethz.sis.openbis.generic.server.api.v3.helper.service;
 
-import ch.ethz.sis.openbis.generic.as.api.v3.plugin.context.ServiceContext;
+import ch.ethz.sis.openbis.generic.as.api.v3.plugin.service.context.ServiceContext;
 
 /**
  * 
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/IServiceScriptRunner.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/IServiceScriptRunner.java
index 42560c141506e0058d9e26c0fcece5cd0012ec3c..2af901652c23e8ab60dfc1b4f87105ae550671c2 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/IServiceScriptRunner.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/IServiceScriptRunner.java
@@ -17,7 +17,8 @@
 package ch.ethz.sis.openbis.generic.server.api.v3.helper.service;
 
 import java.io.Serializable;
-import java.util.Map;
+
+import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.ExecutionOptions;
 
 /**
  * 
@@ -26,5 +27,5 @@ import java.util.Map;
  */
 public interface IServiceScriptRunner
 {
-    public Serializable process(Map<String, Serializable> parameters);
+    public Serializable process(ExecutionOptions options);
 }
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/JythonBasedServiceExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/JythonBasedServiceExecutor.java
index b233a6707c5efe31a0ef11c827f2ef50421707e0..a7d62b358ef38fc493b7cb94c88b5074e23cc092 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/JythonBasedServiceExecutor.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/JythonBasedServiceExecutor.java
@@ -1,4 +1,5 @@
 /*
+
  * Copyright 2015 ETH Zuerich, SIS
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,12 +18,12 @@
 package ch.ethz.sis.openbis.generic.server.api.v3.helper.service;
 
 import java.io.Serializable;
-import java.util.Map;
 import java.util.Properties;
 
 import ch.ethz.sis.openbis.generic.as.api.v3.IApplicationServerApi;
-import ch.ethz.sis.openbis.generic.as.api.v3.plugin.IServiceExecutor;
-import ch.ethz.sis.openbis.generic.as.api.v3.plugin.context.ServiceContext;
+import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.ExecutionOptions;
+import ch.ethz.sis.openbis.generic.as.api.v3.plugin.service.IServiceExecutor;
+import ch.ethz.sis.openbis.generic.as.api.v3.plugin.service.context.ServiceContext;
 import ch.systemsx.cisd.common.properties.PropertyUtils;
 import ch.systemsx.cisd.openbis.generic.server.CommonServiceProvider;
 
@@ -48,9 +49,9 @@ public class JythonBasedServiceExecutor implements IServiceExecutor
     }
 
     @Override
-    public Serializable executeService(Map<String, Serializable> parameters, ServiceContext context)
+    public Serializable executeService(ServiceContext context, ExecutionOptions options)
     {
-        return factory.createServiceRunner(context).process(parameters);
+        return factory.createServiceRunner(context).process(options);
     }
 
 }
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/ScriptRunnerFactory.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/ScriptRunnerFactory.java
index b56cf07faf5b1deb175a72d78b830c50475a42eb..90b296c6e9916b153da10222e29a18460e96e618 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/ScriptRunnerFactory.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/api/v3/helper/service/ScriptRunnerFactory.java
@@ -17,10 +17,10 @@
 package ch.ethz.sis.openbis.generic.server.api.v3.helper.service;
 
 import java.io.Serializable;
-import java.util.Map;
 
 import ch.ethz.sis.openbis.generic.as.api.v3.IApplicationServerApi;
-import ch.ethz.sis.openbis.generic.as.api.v3.plugin.context.ServiceContext;
+import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.ExecutionOptions;
+import ch.ethz.sis.openbis.generic.as.api.v3.plugin.service.context.ServiceContext;
 import ch.systemsx.cisd.common.jython.JythonUtils;
 import ch.systemsx.cisd.common.jython.evaluator.Evaluator;
 import ch.systemsx.cisd.common.jython.evaluator.EvaluatorException;
@@ -84,9 +84,9 @@ class ScriptRunnerFactory implements IScriptRunnerFactory
         }
 
         @Override
-        public Serializable process(Map<String, Serializable> parameters)
+        public Serializable process(ExecutionOptions options)
         {
-            Object result = evaluator.evalFunction(PROCESS_FUNCTION_NAME, parameters);
+            Object result = evaluator.evalFunction(PROCESS_FUNCTION_NAME, options.getParameters());
             if (result == null || result instanceof Serializable)
             {
                 return (Serializable) result;
diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/IApplicationServerApi.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/IApplicationServerApi.java
index 29dff898981bd85754af755d9be0fbec475f8b8d..8bc696068053859a2d1c91bbd85f1cf153b59f84 100644
--- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/IApplicationServerApi.java
+++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/IApplicationServerApi.java
@@ -64,6 +64,7 @@ import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.ISampleId;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.SamplePermId;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.search.SampleSearchCriteria;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.update.SampleUpdate;
+import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.ExecutionOptions;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.Service;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.fetchoptions.ServiceFetchOptions;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.id.IServiceId;
@@ -175,6 +176,6 @@ public interface IApplicationServerApi extends IRpcService
 
     public void confirmDeletions(String sessionToken, List<? extends IDeletionId> deletionIds);
     
-    public Serializable executeService(String sessionToken, IServiceId serviceId, Map<String, Serializable> parameters);
+    public Serializable executeService(String sessionToken, IServiceId serviceId, ExecutionOptions options);
 
 }
diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/dto/service/ExecutionOptions.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/dto/service/ExecutionOptions.java
new file mode 100644
index 0000000000000000000000000000000000000000..c4678531f6a8d2f399a50a121aa905b60e009dfa
--- /dev/null
+++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/dto/service/ExecutionOptions.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2015 ETH Zuerich, SIS
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package ch.ethz.sis.openbis.generic.as.api.v3.dto.service;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+import ch.systemsx.cisd.base.annotation.JsonObject;
+
+/**
+ * 
+ *
+ * @author Franz-Josef Elmer
+ */
+@JsonObject("dto.service.ExecutionOptions")
+public class ExecutionOptions implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+    
+    private final Map<String, Serializable> parameters = new HashMap<String, Serializable>();
+    
+    public ExecutionOptions withParameter(String parameterName, Serializable value)
+    {
+        parameters.put(parameterName, value);
+        return this;
+    }
+    
+    public Map<String, Serializable> getParameters()
+    {
+        return parameters;
+    }
+}
diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/plugin/IServiceExecutor.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/plugin/service/IServiceExecutor.java
similarity index 72%
rename from openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/plugin/IServiceExecutor.java
rename to openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/plugin/service/IServiceExecutor.java
index a4e6cd8c0c8c23ce3181c1b283cc329df42296f0..5f20d9cb7f6c916beeb350983f30e0f8ac78a4a3 100644
--- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/plugin/IServiceExecutor.java
+++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/plugin/service/IServiceExecutor.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.ethz.sis.openbis.generic.as.api.v3.plugin;
+package ch.ethz.sis.openbis.generic.as.api.v3.plugin.service;
 
 import java.io.Serializable;
-import java.util.Map;
 
+import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.ExecutionOptions;
 import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.Service;
-import ch.ethz.sis.openbis.generic.as.api.v3.plugin.context.ServiceContext;
+import ch.ethz.sis.openbis.generic.as.api.v3.plugin.service.context.ServiceContext;
 
 /**
  * Executor of a {@link Service}.
@@ -29,5 +29,5 @@ import ch.ethz.sis.openbis.generic.as.api.v3.plugin.context.ServiceContext;
  */
 public interface IServiceExecutor
 {
-    public Serializable executeService(Map<String, Serializable> parameters, ServiceContext context);
+    public Serializable executeService(ServiceContext context, ExecutionOptions options);
 }
diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/plugin/context/ServiceContext.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/plugin/service/context/ServiceContext.java
similarity index 92%
rename from openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/plugin/context/ServiceContext.java
rename to openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/plugin/service/context/ServiceContext.java
index a39f2a009acca06f9e83f3df5fac74782f0481cc..f49217c7d0c81bad47322cb1a6af69a0b24b4b44 100644
--- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/plugin/context/ServiceContext.java
+++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/as/api/v3/plugin/service/context/ServiceContext.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.ethz.sis.openbis.generic.as.api.v3.plugin.context;
+package ch.ethz.sis.openbis.generic.as.api.v3.plugin.service.context;
 
 /**
  *