@Override public final O invoke(I input, ServiceContext context) throws ServiceException { if (!context.exist(getServiceName())) { throw new ServiceNotFoundException(this); } IData in = prepareInput(input); IData out = context.invoke(getServiceName(), in); return prepareOutput(out); }