docs: @Override
      public synchronized Collection<IResult> executeWithInputs(Collection<IInputValue> inputs) throws ModelException
      {
          if (!hasGrounding())
          {
              return null;
          }
          ValueMap<Output, OWLValue> returnedOutputs;
          try
          {
              returnedOutputs = executionEngine().execute(
                      service.getProcess(),
                      fromParameterInputs(service.getProcess(), inputs),
                      service.getKB());
          } catch (ExecutionException ex)
          {
              throw new ServiceExecutionException("Problem executing service with inputs: " + inputs.toString(), ex);
          }
  
          return valuesToParameters(service.getProcess(), returnedOutputs);
      }