docs: @Override
    public Iterable<BlockTemplateMatch> match(JCTree tree, Context context) {
      // TODO(lowasser): consider nonconsecutive matches?
      if (tree instanceof JCBlock) {
        JCBlock block = (JCBlock) tree;
        ImmutableList<JCStatement> targetStatements = ImmutableList.copyOf(block.getStatements());
        return matchesStartingAnywhere(block, 0, targetStatements, context)
            .first()
            .or(List.<BlockTemplateMatch>nil());
      }
      return ImmutableList.of();
    }