code: static boolean acceptsInternal(DependencyPath path) {
          // Filter out paths that can't match the template due to length
          if (path.length() != 2)
              return false;
          
          // Check that the nodes weren't filtered out.  If so reject the path
          // even if the part of speech and relation text may have matched a
          // template.
          if (path.getNode(0).word().equals(IteratorFactory.EMPTY_TOKEN)
                  || path.getNode(0).word().equals(IteratorFactory.EMPTY_TOKEN))
              return false;
  
          String pos1 = path.getNode(0).pos();
          String rel = path.getRelation(0);
          String pos2 = path.getNode(1).pos();
  
          return MINIMUM_TEMPLATES.contains(toPattern(pos1, rel, pos2));
      }
docs: A package-private method that checks whether the path matches any of the
  predefined templates.  This method is provided so other template classes
  have access to the accept logic used by this class.
  
  @param path a dependency path
  
  @return {@code true} if the path matches a template