code: public ResolvedViewable resolveViewable(final Viewable viewable, final MediaType mediaType,
                                              final Class<?> resourceClass, final TemplateProcessor templateProcessor) {
          if (viewable.isTemplateNameAbsolute()) {
              return resolveAbsoluteViewable(viewable, resourceClass, mediaType, templateProcessor);
          } else {
              if (resourceClass == null) {
                  throw new ViewableContextException(LocalizationMessages.TEMPLATE_RESOLVING_CLASS_CANNOT_BE_NULL());
              }
  
              return resolveRelativeViewable(viewable, resourceClass, mediaType, templateProcessor);
          }
      }
docs: {@inheritDoc}
  
  Resolve given {@link Viewable viewable} using {@link MediaType media type}, {@code resolving class} and
  {@link TemplateProcessor template processor}.