code: public <R> AnnotatedContent<R, String> blame(AnnotatedContent<R, String> content, R revision, String previous) {
          setError(null);
          try {
              return blameManager.blame(content, revision, lineSplitter.split(previous));
          } catch (Exception e) {
              setError(e);
              return null;
          }
      }
docs: Annotate content with current revision based on a diff with a previous revision.
  
  @param <R> type of the revision object that old metadata about the revision.
  @param content the annotated content (up to the revision preceding the one given), use null to start a new
  blame.
  @param revision the revision metadata to associate with the given revision.
  @param previous the content of the previous revision to diff against the currently annotated content, use the
  latest revision to start a new blame.
  @return the updated annotated content.