code: public String replace(final CharSequence source) {
          if (source == null) {
              return null;
          }
          return replace(source, 0, source.length());
      }
docs: Replaces all the occurrences of variables with their matching values
  from the resolver using the given source as a template.
  The source is not altered by this method.
  
  @param source  the buffer to use as a template, not changed, null returns null
  @return the result of the replace operation
  @since 3.2