class SourceLinkResolver implements LinkResolver<I, T> {

  @Override
  public T resolve(LinkIdentifier<I, T> identifier) {
    VersionCorrectionProvider vcProvider = lookupService(VersionCorrectionProvider.class);
    S source = lookupService(getSourceClass());
    return executeQuery(source, identifier.getType(), identifier.getIdentifier(), getVersionCorrection(vcProvider));
  }

    SourceLinkResolver(ServiceContext serviceContext);
    SourceLinkResolver();

}