docs: @SuppressWarnings("checkstyle:npathcomplexity")
  	private void createImplicitActionReturnType(XtextResource resource, IAcceptor<? super ICodeMining> acceptor) {
  		final List<XtendFunction> actions = EcoreUtil2.eAllOfType(resource.getContents().get(0), XtendFunction.class);
  
  		for (final XtendFunction action : actions) {
  			// inline annotation only for methods with no return type
  			if (action.getReturnType() != null) {
  				continue;
  			}
  			// get return type name from operation
  			final JvmOperation inferredOperation = (JvmOperation) this.jvmModelAssocitions.getPrimaryJvmElement(action);
  			if (inferredOperation == null || inferredOperation.getReturnType() == null) {
  				continue;
  			}
  			// find document offset for inline annotationn
  			final ICompositeNode node = NodeModelUtils.findActualNodeFor(action);
  			final Keyword parenthesis = this.grammar.getAOPMemberAccess().getRightParenthesisKeyword_2_5_6_2();
  			final Assignment fctname = this.grammar.getAOPMemberAccess().getNameAssignment_2_5_5();
  			int offsetFctname = -1;
  			int offsetParenthesis = -1;
  			for (Iterator<INode> it = node.getAsTreeIterable().iterator(); it.hasNext();) {
  				final INode child = it.next();
  				if (child != node) {
  					final EObject grammarElement = child.getGrammarElement();
  					if (grammarElement instanceof RuleCall) {
  						if (fctname.equals(grammarElement.eContainer())) {
  							offsetFctname = child.getTotalEndOffset();
  						}
  					} else if (parenthesis.equals(grammarElement)) {
  						offsetParenthesis = child.getTotalEndOffset();
  						break;
  					}
  				}
  			}
  			int offset = -1;
  			if (offsetParenthesis >= 0) {
  				offset = offsetParenthesis;
  			} else if (offsetFctname >= 0) {
  				offset = offsetFctname;
  			}
  			if (offset >= 0) {
  				final String returnType = inferredOperation.getReturnType().getSimpleName();
  				final String text = " " + this.keywords.getColonKeyword() + " " + returnType; //$NON-NLS-1$ //$NON-NLS-2$
  				acceptor.accept(createNewLineContentCodeMining(offset, text));
  			}
  		}
  	}