package org.openecomp.appc.executor;
 
 
+import org.openecomp.appc.domainmodel.lcm.RuntimeContext;
 import org.openecomp.appc.exceptions.APPCException;
-import org.openecomp.appc.executor.objects.CommandExecutorInput;
 
 
 
      * @param commandHeaderInput Contains CommandHeader,  command , target Id , payload and conf ID (optional)
      * @throws APPCException in case of error.
      */
-    void executeCommand(CommandExecutorInput commandHeaderInput) throws APPCException;
+    void executeCommand(RuntimeContext commandHeaderInput) throws APPCException;
 }
 
+++ /dev/null
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : APP-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- *                                             reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.appc.executor.objects;
-
-import org.openecomp.appc.domainmodel.lcm.RuntimeContext;
-
-public class CommandExecutorInput {
-       private final RuntimeContext runtimeContext ;
-       private final int ttl;
-
-    public CommandExecutorInput(RuntimeContext runtimeContext, int ttl) {
-        this.runtimeContext = runtimeContext;
-        this.ttl = ttl;
-    }
-
-       public RuntimeContext getRuntimeContext() {
-               return runtimeContext;
-       }
-
-       public int getTtl() {
-               return ttl;
-       }
-
-       @Override
-       public String toString() {
-               return "CommandExecutorInput{" +
-                               "runtimeContext=" + runtimeContext +
-                               ", ttl=" + ttl +
-                               '}';
-       }
-}
 
 import java.util.concurrent.TimeUnit;
 
 import org.apache.commons.lang.ObjectUtils;
+import org.openecomp.appc.domainmodel.lcm.RuntimeContext;
 import org.openecomp.appc.exceptions.APPCException;
 import org.openecomp.appc.executionqueue.ExecutionQueueService;
 import org.openecomp.appc.executionqueue.impl.ExecutionQueueServiceFactory;
 import org.openecomp.appc.executor.CommandExecutor;
-import org.openecomp.appc.executor.objects.CommandExecutorInput;
+
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
 
      * @throws APPCException in case of error.
      */
     @Override
-    public void executeCommand (CommandExecutorInput commandExecutorInput) throws APPCException{
+    public void executeCommand (RuntimeContext commandExecutorInput) throws APPCException{
         if (logger.isTraceEnabled()) {
             logger.trace("Entering to executeCommand with CommandExecutorInput = "+ ObjectUtils.toString(commandExecutorInput));
         }
     }
 
     @SuppressWarnings("unchecked")
-    private void enqueRequest(CommandExecutorInput request) throws APPCException{
+    private void enqueRequest(RuntimeContext request) throws APPCException{
         if (logger.isTraceEnabled()) {
             logger.trace("Entering to enqueRequest with CommandRequest = "+ ObjectUtils.toString(request));
         }
         try {
-            CommandTask commandTask = getMessageExecutor(request.getRuntimeContext().getRequestContext().getAction().name());
+            CommandTask commandTask = getMessageExecutor(request.getRequestContext().getAction().name());
             commandTask.setCommandRequest(request);
             long remainingTTL = getRemainingTTL(request);
             executionQueueService.putMessage(commandTask,remainingTTL, TimeUnit.MILLISECONDS);
         }
     }
 
-    private long getRemainingTTL(CommandExecutorInput request) {
-        Date requestTimestamp = request.getRuntimeContext().getRequestContext().getCommonHeader().getTimeStamp();
-        int ttl = request.getRuntimeContext().getRequestContext().getCommonHeader().getFlags().getTtl();
+    private long getRemainingTTL(RuntimeContext request) {
+        Date requestTimestamp = request.getRequestContext().getCommonHeader().getTimeStamp();
+        int ttl = request.getRequestContext().getCommonHeader().getFlags().getTtl();
         return ttl*1000 + requestTimestamp.getTime() - System.currentTimeMillis();
     }
 
 
 
 import org.openecomp.appc.domainmodel.lcm.RuntimeContext;
 import org.openecomp.appc.domainmodel.lcm.Status;
-import org.openecomp.appc.executor.objects.CommandExecutorInput;
 import org.openecomp.appc.executor.objects.CommandResponse;
 import org.openecomp.appc.executor.objects.LCMCommandStatus;
 import org.openecomp.appc.executor.objects.Params;
     protected RequestHandler requestHandler;
     protected WorkFlowManager workflowManager;
 
-    private CommandExecutorInput commandRequest;
+    private RuntimeContext commandRequest;
 
-    public CommandExecutorInput getCommandRequest() {
+    public RuntimeContext getCommandRequest() {
         return commandRequest;
     }
 
-    public void setCommandRequest(CommandExecutorInput commandRequest) {
+    public void setCommandRequest(RuntimeContext commandRequest) {
         this.commandRequest = commandRequest;
     }
 
     CommandTask(){
     }
 
-    public void onRequestCompletion(CommandExecutorInput request, CommandResponse response , boolean isAAIUpdated) {
+    public void onRequestCompletion(RuntimeContext request, CommandResponse response , boolean isAAIUpdated) {
         logger.debug("Entry: onRequestCompletion()");
-        requestHandler.onRequestExecutionEnd(request.getRuntimeContext(), isAAIUpdated);
+        requestHandler.onRequestExecutionEnd(request, isAAIUpdated);
     }
 
-    public abstract void onRequestCompletion(CommandExecutorInput request, CommandResponse response);
+    public abstract void onRequestCompletion(RuntimeContext request, CommandResponse response);
 
-    protected CommandResponse buildCommandResponse(CommandExecutorInput request, WorkflowResponse response) {
+    protected CommandResponse buildCommandResponse(RuntimeContext request, WorkflowResponse response) {
 
         CommandResponse commandResponse = new CommandResponse();
-        commandResponse.setRuntimeContext(request.getRuntimeContext());
+        commandResponse.setRuntimeContext(request);
         return commandResponse;
     }
 
 
     public void execute() {
-        final RuntimeContext runtimeContext = commandRequest.getRuntimeContext();
+        final RuntimeContext runtimeContext = commandRequest;
         MDC.put(MDC_KEY_REQUEST_ID, runtimeContext.getRequestContext().getCommonHeader().getRequestId());
         if (runtimeContext.getRequestContext().getActionIdentifiers().getServiceInstanceId() != null)
             MDC.put(MDC_SERVICE_INSTANCE_ID, runtimeContext.getRequestContext().getActionIdentifiers().getServiceInstanceId());
 
 
 package org.openecomp.appc.executor.impl;
 
+import org.openecomp.appc.domainmodel.lcm.RuntimeContext;
 import org.openecomp.appc.executionqueue.MessageExpirationListener;
-import org.openecomp.appc.executor.objects.CommandExecutorInput;
 import org.openecomp.appc.requesthandler.RequestHandler;
 
 
 
     @Override
     public void onMessageExpiration(M message) {
-        CommandExecutorInput commandRequest = (CommandExecutorInput)message;
-        requestHandler.onRequestTTLEnd(commandRequest.getRuntimeContext(), true);
+        RuntimeContext commandRequest = (RuntimeContext)message;
+        requestHandler.onRequestTTLEnd(commandRequest, true);
     }
 }
 
 
 import org.apache.commons.lang3.StringUtils;
 import org.openecomp.appc.domainmodel.lcm.CommonHeader;
+import org.openecomp.appc.domainmodel.lcm.RuntimeContext;
 import org.openecomp.appc.domainmodel.lcm.Status;
 import org.openecomp.appc.domainmodel.lcm.VNFOperation;
 import org.openecomp.appc.executor.UnstableVNFException;
-import org.openecomp.appc.executor.objects.CommandExecutorInput;
 import org.openecomp.appc.executor.objects.CommandResponse;
 import org.openecomp.appc.executor.objects.LCMCommandStatus;
 import org.openecomp.appc.executor.objects.Params;
 
 
        @Override
-       public void onRequestCompletion(CommandExecutorInput request, CommandResponse response) {
+       public void onRequestCompletion(RuntimeContext request, CommandResponse response) {
 
                boolean isAAIUpdated = false;
                try {
 
-                       final int statusCode = request.getRuntimeContext().getResponseContext().getStatus().getCode();
+                       final int statusCode = request.getResponseContext().getStatus().getCode();
 
                        if (logger.isDebugEnabled()) {
                                logger.debug("Workflow Execution Status = "+ statusCode);
 
                        boolean isSuccess = statusCode == 100 || statusCode == 400;
 
-                       if (isSuccess && VNFOperation.Terminate ==  request.getRuntimeContext().getRequestContext().getAction()) {
+                       if (isSuccess && VNFOperation.Terminate ==  request.getRequestContext().getAction()) {
                                SvcLogicContext ctx = new SvcLogicContext();
-                               ctx = getVnfdata(request.getRuntimeContext().getVnfContext().getId(), "vnf", ctx);
-                               isAAIUpdated = aaiService.deleteGenericVnfData(request.getRuntimeContext().getVnfContext().getId(), ctx.getAttribute("vnf.resource-version"));
+                               ctx = getVnfdata(request.getVnfContext().getId(), "vnf", ctx);
+                               isAAIUpdated = aaiService.deleteGenericVnfData(request.getVnfContext().getId(), ctx.getAttribute("vnf.resource-version"));
                        }
                        else{
-                               isAAIUpdated = updateAAI(request.getRuntimeContext().getVnfContext().getId() , false, isSuccess);
+                               isAAIUpdated = updateAAI(request.getVnfContext().getId() , false, isSuccess);
                        }
                        logger.debug("isAAIUpdated = " + isAAIUpdated);
                }
 
        @Override
        public void run() {
-               CommandExecutorInput request = getCommandRequest();
+               RuntimeContext request = getCommandRequest();
                boolean isAAIUpdated;
-               final String vnfId = request.getRuntimeContext().getVnfContext().getId();
-               final String vnfType = request.getRuntimeContext().getVnfContext().getType();
+               final String vnfId = request.getVnfContext().getId();
+               final String vnfType = request.getVnfContext().getType();
                try {
-                       final CommonHeader commonHeader = request.getRuntimeContext().getRequestContext().getCommonHeader();
+                       final CommonHeader commonHeader = request.getRequestContext().getCommonHeader();
                        final boolean forceFlag = commonHeader.getFlags().isForce();
                        UniqueRequestIdentifier requestIdentifier = new UniqueRequestIdentifier(commonHeader.getOriginatorId(),
                                        commonHeader.getRequestId(), commonHeader.getSubRequestId());
                        String requestIdentifierString = requestIdentifier.toIdentifierString();
                        requestHandler.onRequestExecutionStart(vnfId,false, requestIdentifierString, forceFlag);
 
-                       final String currentStatus = request.getRuntimeContext().getVnfContext().getStatus();
-                       final VNFOperation action = request.getRuntimeContext().getRequestContext().getAction();
+                       final String currentStatus = request.getVnfContext().getStatus();
+                       final VNFOperation action = request.getRequestContext().getAction();
 
                        final String nextState = lifecyclemanager.getNextState(vnfType, currentStatus, action.name());
 
                } catch (NoTransitionDefinedException e) {
                        logger.error("Error getting Next State for AAI Update:  " + e.getMessage(), e);
                        Params params = new Params().addParam("actionName",e.event).addParam("currentState",e.currentState);
-                       request.getRuntimeContext().getResponseContext().setStatus(LCMCommandStatus.NO_TRANSITION_DEFINE_FAILURE.toStatus(params));
+                       request.getResponseContext().setStatus(LCMCommandStatus.NO_TRANSITION_DEFINE_FAILURE.toStatus(params));
                        isAAIUpdated = false;
                } catch (UnstableVNFException e) {
                        logger.error(e.getMessage(), e);
                        Params params = new Params().addParam("vnfId",vnfId);
-                       request.getRuntimeContext().getResponseContext().setStatus(LCMCommandStatus.UNSTABLE_VNF_FAILURE.toStatus(params));
+                       request.getResponseContext().setStatus(LCMCommandStatus.UNSTABLE_VNF_FAILURE.toStatus(params));
                        isAAIUpdated = false;
                }catch (Exception e) {
                        logger.error("Error before Request Execution starts.", e);
                        String errorMsg = StringUtils.isEmpty(e.getMessage()) ? e.toString() : e.getMessage();
                        Params params = new Params().addParam("errorMsg",errorMsg);
-                       request.getRuntimeContext().getResponseContext().setStatus(LCMCommandStatus.UNEXPECTED_FAILURE.toStatus(params));
+                       request.getResponseContext().setStatus(LCMCommandStatus.UNEXPECTED_FAILURE.toStatus(params));
                        isAAIUpdated =  false;
                }
 
                        String errorMsg = "Error updating A& AI before Workflow execution";
                        logger.error(errorMsg);
                        WorkflowResponse response = new WorkflowResponse();
-                       response.setResponseContext(request.getRuntimeContext().getResponseContext());
+                       response.setResponseContext(request.getResponseContext());
                        CommandResponse commandResponse = super.buildCommandResponse(request, response);
                        this.onRequestCompletion(request,commandResponse);
                }
 
 
 import org.apache.commons.lang3.StringUtils;
 import org.openecomp.appc.domainmodel.lcm.CommonHeader;
+import org.openecomp.appc.domainmodel.lcm.RuntimeContext;
 import org.openecomp.appc.domainmodel.lcm.Status;
 import org.openecomp.appc.executor.UnstableVNFException;
-import org.openecomp.appc.executor.objects.CommandExecutorInput;
 import org.openecomp.appc.executor.objects.CommandResponse;
 import org.openecomp.appc.executor.objects.LCMCommandStatus;
 import org.openecomp.appc.executor.objects.Params;
 
 
     @Override
-    public void onRequestCompletion(CommandExecutorInput request, CommandResponse response) {
+    public void onRequestCompletion(RuntimeContext request, CommandResponse response) {
         super.onRequestCompletion(request, response, true);
     }
 
     @Override
     public void run() {
-        CommandExecutorInput request = getCommandRequest();
-        final CommonHeader commonHeader = request.getRuntimeContext().getRequestContext().getCommonHeader();
+        RuntimeContext request = getCommandRequest();
+        final CommonHeader commonHeader = request.getRequestContext().getCommonHeader();
         final boolean forceFlag = commonHeader.getFlags().isForce();
         UniqueRequestIdentifier requestIdentifier = new UniqueRequestIdentifier(commonHeader.getOriginatorId(), commonHeader.getRequestId(), commonHeader.getSubRequestId());
         String requestIdentifierString = requestIdentifier.toIdentifierString();
-        final String vnfId = request.getRuntimeContext().getVnfContext().getId();
+        final String vnfId = request.getVnfContext().getId();
         try {
             requestHandler.onRequestExecutionStart(vnfId,true, requestIdentifierString, forceFlag);
             super.execute();
         } catch (UnstableVNFException e) {
             logger.error(e.getMessage(), e);
             Params params = new Params().addParam("vnfId",vnfId);
-            request.getRuntimeContext().getResponseContext().setStatus(LCMCommandStatus.UNSTABLE_VNF_FAILURE.toStatus(params));
+            request.getResponseContext().setStatus(LCMCommandStatus.UNSTABLE_VNF_FAILURE.toStatus(params));
         }catch (Exception e) {
             logger.error("Error during runing LCMReadonlyCommandTask.", e);
             String errorMsg = StringUtils.isEmpty(e.getMessage()) ? e.toString() : e.getMessage();
             Params params = new Params().addParam("errorMsg",errorMsg);
-            request.getRuntimeContext().getResponseContext().setStatus(LCMCommandStatus.UNEXPECTED_FAILURE.toStatus(params));
+            request.getResponseContext().setStatus(LCMCommandStatus.UNEXPECTED_FAILURE.toStatus(params));
         }
     }
 }
 
        @Test
        public void testOnRequestCompletion(){
                Mockito.doNothing().when(requestHandler).onRequestTTLEnd((RuntimeContext) anyObject(),anyBoolean());
-               CommandExecutorInput request = getLCMCommandRequest("FIREWALL",30,new Date(), "11" ,setTTLInFlags("30"), VNFOperation.Configure, "1", "1.0");
+               RuntimeContext request = pouplateCommandExecutorInput("FIREWALL", 30, "1.0", new Date(), API_VERSION, "11", ORIGINATOR_ID, "", VNFOperation.Configure, "1", "");
                CommandResponse response = getCommandResponse(VNFOperation.Configure, true, "11", "","1");
                executionTask.onRequestCompletion(request, response);
        }
 
        @Test
        public void testRunGetConfig(){
-               CommandExecutorInput request = getConfigCommandRequest("FIREWALL",30,new Date(), "11" ,setTTLInFlags("30"),VNFOperation.Sync, "1", "1.0");
+               RuntimeContext request = pouplateCommandExecutorInput("FIREWALL", 30, "1.0", new Date(), API_VERSION, "11", ORIGINATOR_ID, "", VNFOperation.Sync, "1", "");
                LCMReadonlyCommandTask.setCommandRequest(request);
                LCMReadonlyCommandTask.run();
        }
 
        @Test
        public void testRun(){
-               CommandExecutorInput request = getLCMCommandRequest("FIREWALL",30,new Date(), "11" ,setTTLInFlags("30"),VNFOperation.Sync, "1", "1.0");
+               RuntimeContext request = pouplateCommandExecutorInput("FIREWALL", 30, "1.0", new Date(), API_VERSION, "11", ORIGINATOR_ID, "", VNFOperation.Sync, "1", "");
                executionTask.setCommandRequest(request);
                executionTask.run();
        }
 
        @Test
        public void testRunNegative(){
-               CommandExecutorInput request = getLCMCommandRequest("FIREWALL",30,new Date(), "11" ,setTTLInFlags("30"),VNFOperation.Sync, "1", "1.0");
+               RuntimeContext request = pouplateCommandExecutorInput("FIREWALL", 30, "1.0", new Date(), API_VERSION, "11", ORIGINATOR_ID, "", VNFOperation.Sync, "1", "");
                executionTask.setCommandRequest(request);
                executionTask.run();
        }
                Date timeStamp = new Date();
                String requestId = "1";
 
-               CommandExecutorInput commandExecutorInput = pouplateCommandExecutorInput("FIREWALL",30, "1.0", timeStamp, API_VERSION, requestId, ORIGINATOR_ID, "", VNFOperation.Configure, "33", "");
+               RuntimeContext commandExecutorInput = pouplateCommandExecutorInput("FIREWALL",30, "1.0", timeStamp, API_VERSION, requestId, ORIGINATOR_ID, "", VNFOperation.Configure, "33", "");
        }
 
 
        }
 
 
-       private CommandExecutorInput getConfigCommandRequest(String vnfType , Integer ttl , Date timeStamp, String requestId,
-                                                                                                                         Map<String,Object> flags, VNFOperation command , String vnfId, String vnfVersion ){
-
-               return pouplateCommandExecutorInput(vnfType, ttl, vnfVersion, timeStamp, API_VERSION, requestId, ORIGINATOR_ID, "", command, vnfId, "");
-       }
-
-       private CommandExecutorInput getLCMCommandRequest(String vnfType , Integer ttl ,Date timeStamp, String requestId,
-                                                                                        Map<String,Object> flags, VNFOperation command , String vnfId, String vnfVersion ){
-
-               return pouplateCommandExecutorInput(vnfType, ttl, vnfVersion, timeStamp, API_VERSION, requestId, ORIGINATOR_ID, "", command, vnfId, "");
-       }
-
        public WorkflowResponse getWorkflowResponse (){
                WorkflowResponse wfResponse = new WorkflowResponse();
                ResponseContext responseContext = createResponseContextWithSuObjects();
                return wfResponse;
        }
 
-       private CommandExecutorInput pouplateCommandExecutorInput(String vnfType, int ttl, String vnfVersion, Date timeStamp, String apiVersion, String requestId, String originatorID, String subRequestID, VNFOperation action, String vnfId , String payload){
-               CommandExecutorInput commandExecutorInput = createCommandExecutorInputWithSubObjects();
-               RuntimeContext runtimeContext = commandExecutorInput.getRuntimeContext();
-               RequestContext requestContext = runtimeContext.getRequestContext();
+       private RuntimeContext pouplateCommandExecutorInput(String vnfType, int ttl, String vnfVersion, Date timeStamp, String apiVersion, String requestId, String originatorID, String subRequestID, VNFOperation action, String vnfId , String payload){
+               RuntimeContext commandExecutorInput = createCommandExecutorInputWithSubObjects();
+               RequestContext requestContext = commandExecutorInput.getRequestContext();
                ResponseContext responseContext = createResponseContextWithSuObjects();
-               runtimeContext.setResponseContext(responseContext);
+               commandExecutorInput.setResponseContext(responseContext);
 
                requestContext.getCommonHeader().getFlags().setTtl(ttl);
                requestContext.getCommonHeader().setApiVer(apiVersion);
                requestContext.setAction(action);
                requestContext.setPayload(payload);
                requestContext.getActionIdentifiers().setVnfId(vnfId);
-               VNFContext vnfContext = runtimeContext.getVnfContext();
+               VNFContext vnfContext = commandExecutorInput.getVnfContext();
                vnfContext.setType(vnfType);
                vnfContext.setId(vnfId);
                vnfContext.setVersion(vnfVersion);
                return commandExecutorInput;
        }
 
-       private CommandExecutorInput createCommandExecutorInputWithSubObjects() {
-               RuntimeContext runtimeContext = createRuntimeContextWithSubObjects();
-        return new CommandExecutorInput(runtimeContext, 0);
+       private RuntimeContext createCommandExecutorInputWithSubObjects() {
+               return createRuntimeContextWithSubObjects();
        }
 
        private RuntimeContext createRuntimeContextWithSubObjects() {
 
 import org.openecomp.appc.executor.impl.CommandTaskFactory;
 import org.openecomp.appc.executor.impl.LCMCommandTask;
 import org.openecomp.appc.executor.impl.LCMReadonlyCommandTask;
-import org.openecomp.appc.executor.objects.CommandExecutorInput;
 import org.openecomp.appc.lifecyclemanager.LifecycleManager;
 import org.openecomp.appc.requesthandler.RequestHandler;
 import org.openecomp.appc.workflow.WorkFlowManager;
                //Map <String,Object> flags = setTTLInFlags("30");
                Date timeStamp = new Date();
                String requestId = "1";
-               CommandExecutorInput commandExecutorInput = pouplateCommandExecutorInput("FIREWALL", 30, "1.0", timeStamp, API_VERSION, requestId, ORIGINATOR_ID, "2", VNFOperation.Configure, "15", "") ;
+               RuntimeContext commandExecutorInput = pouplateCommandExecutorInput("FIREWALL", 30, "1.0", timeStamp, API_VERSION, requestId, ORIGINATOR_ID, "2", VNFOperation.Configure, "15", "") ;
                try {
                        commandExecutor.executeCommand(commandExecutorInput);
                } catch (APPCException e) {
                Date timeStamp = new Date();
                String requestId = "1";
 
-               CommandExecutorInput commandExecutorInput = pouplateCommandExecutorInput("FIREWALL", 30, "1.0", timeStamp, API_VERSION, requestId, ORIGINATOR_ID, "2", VNFOperation.Sync,"15","") ;
+               RuntimeContext commandExecutorInput = pouplateCommandExecutorInput("FIREWALL", 30, "1.0", timeStamp, API_VERSION, requestId, ORIGINATOR_ID, "2", VNFOperation.Sync,"15","") ;
                try {
                        commandExecutor.executeCommand(commandExecutorInput);
                } catch (APPCException e) {
        }
 
        
-       private CommandExecutorInput pouplateCommandExecutorInput(String vnfType, int ttl, String vnfVersion, Date timeStamp, String apiVersion, String requestId, String originatorID, String subRequestID, VNFOperation action, String vnfId , String payload){
-               CommandExecutorInput commandExecutorInput = createCommandExecutorInputWithSubObjects();
-               RuntimeContext runtimeContext = commandExecutorInput.getRuntimeContext();
-               RequestContext requestContext = runtimeContext.getRequestContext();
+       private RuntimeContext pouplateCommandExecutorInput(String vnfType, int ttl, String vnfVersion, Date timeStamp, String apiVersion, String requestId, String originatorID, String subRequestID, VNFOperation action, String vnfId , String payload){
+               RuntimeContext commandExecutorInput = createCommandExecutorInputWithSubObjects();
+               RequestContext requestContext = commandExecutorInput.getRequestContext();
                requestContext.getCommonHeader().getFlags().setTtl(ttl);
                requestContext.getCommonHeader().setApiVer(apiVersion);
                requestContext.getCommonHeader().setTimestamp(timeStamp);
                requestContext.setAction(action);
                requestContext.setPayload(payload);
                requestContext.getActionIdentifiers().setVnfId(vnfId);
-               VNFContext vnfContext = runtimeContext.getVnfContext();
+               VNFContext vnfContext = commandExecutorInput.getVnfContext();
                vnfContext.setType(vnfType);
                vnfContext.setId(vnfId);
                vnfContext.setVersion(vnfVersion);
                return commandExecutorInput;
        }
 
-       private CommandExecutorInput createCommandExecutorInputWithSubObjects() {
+       private RuntimeContext createCommandExecutorInputWithSubObjects() {
                RuntimeContext runtimeContext = new RuntimeContext();
         RequestContext requestContext = new RequestContext();
                runtimeContext.setRequestContext(requestContext);
                requestContext.setActionIdentifiers(actionIdentifiers);
                VNFContext vnfContext = new VNFContext();
                runtimeContext.setVnfContext(vnfContext);
-               return new CommandExecutorInput(runtimeContext, 0);
+               return runtimeContext;
        }
 
 
 
 import org.openecomp.appc.exceptions.APPCException;
 import org.openecomp.appc.executor.CommandExecutor;
 import org.openecomp.appc.executor.UnstableVNFException;
-import org.openecomp.appc.executor.objects.CommandExecutorInput;
 import org.openecomp.appc.executor.objects.LCMCommandStatus;
 import org.openecomp.appc.executor.objects.Params;
 import org.openecomp.appc.executor.objects.UniqueRequestIdentifier;
                 logger.debug("Calling command Executor with remaining TTL value: " + remainingTTL);
             }
 
-            RuntimeContext clonedContext = cloneContext(runtimeContext);
-
-            CommandExecutorInput commandExecutorInput = new CommandExecutorInput(clonedContext, remainingTTL);
+            RuntimeContext commandExecutorInput = cloneContext(runtimeContext);
 
             try {
                 commandExecutor.executeCommand(commandExecutorInput);
 
 import org.openecomp.appc.domainmodel.lcm.*;
 import org.openecomp.appc.executor.CommandExecutor;
 import org.openecomp.appc.executor.UnstableVNFException;
-import org.openecomp.appc.executor.objects.CommandExecutorInput;
 import org.openecomp.appc.executor.objects.LCMCommandStatus;
 import org.openecomp.appc.lifecyclemanager.LifecycleManager;
 import org.openecomp.appc.lifecyclemanager.objects.LifecycleException;