code: @NonNull
      @Contract(pure = true)
      private <Output> ChronosOperationResult<Output> createEmptyResult(
              @NonNull final ChronosOperation<Output> operation, final boolean broadcastResult) {
          final ChronosOperationResult<Output> operationResult;
          final Class<? extends ChronosOperationResult<Output>> resultClass = operation
                  .getResultClass();
          try {
              operationResult = resultClass.newInstance();
          } catch (InstantiationException e) {
              throw new RuntimeException("Can't create a new instance of " + resultClass.getName());
          } catch (IllegalAccessException e) {
              throw new RuntimeException(resultClass.getName() + " constructor is not accessible");
          }
          operationResult.setId(mLastOperationId.incrementAndGet());
          operationResult.setOperation(operation);
          operationResult.setBroadcast(broadcastResult);
  
          return operationResult;
      }
docs: Creates a template object for storing operations' run result.
  
  @param operation       an operation to create a result for
  @param broadcastResult {@code true} if the result should be broadcasted, {@code false}
  otherwise
  @param <Output>        class of the result, returned by the Operations' {@code run} method
  @return an empty OperationResult without business-logic content