code: public static Annotation findResultConverter(final Method method, final Class<?> root) {
          Annotation res = findSingleExtAnnotation(method, ResultConverter.class);
          if (res == null) {
              final List<Annotation> annotations = filterAnnotations(ResultConverter.class, root.getAnnotations());
              check(annotations.size() <= 1, "Root %s must use only one annotation of: %s",
                      root.getName(), toStringAnnotations(annotations));
              if (!annotations.isEmpty()) {
                  res = annotations.get(0);
              }
          }
          return res;
      }
docs: Searches for result converter annotations (annotations annotated with
  {@link ru.vyarus.guice.persist.orient.repository.core.spi.result.ResultConverter}).
  <p>
  Annotation may be defined on method, type and probably globally on root repository type.
  If annotation is defined in two places then only more prioritized will be used.
  Priorities: method, direct method type, repository type (in simple cases the last two will be the same type).
  
  @param method method to search converter
  @param root   root descriptor type
  @return found converter annotation or null