public boolean postTask(final T transaction, final XmlTask task) throws SQLException { // This must be handled as the response can get lost without the transaction failing. Handle<XmlTask> existingHandle = getTasks().containsRemoteHandle(transaction, task.getRemoteHandle()); if (existingHandle != null) { task.setHandleValue(existingHandle.getHandleValue()); return false; // no proper update } boolean result = getTasks().put(transaction, task) != null; task.setState(NodeInstanceState.Acknowledged, task.getOwner()); // Only now mark as acknowledged return result; }