public List<ClientProtos.WriteResultProto> execDMLTransactionPlans(
DMLTransactionPlan plan) throws ServiceException {
List<ClientProtos.WriteResultProto> writeResultProtos = new ArrayList<ClientProtos.WriteResultProto>();
List<TransactionAction> actions = plan.getActions();
if (actions.size() == 1) {
TransactionAction action = actions.get(0);
EntityGroupInfo entityGroupInfo = action.getEntityGroupLocation()
.getEntityGroupInfo();
ServerName serverName = new ServerName(action.getEntityGroupLocation()
.getHostname(), action.getEntityGroupLocation().getPort(),
ServerName.NON_STARTCODE);
try {
if (workingOnLocalServer(server, serverName)) {
ClientProtos.TransactionResponse response = server.transaction(
entityGroupInfo.getEntityGroupName(), action);