@NotNull
  public PsiElement @NotNull [] createPatternTree(@NotNull String text,
                                                  @NotNull PatternContextInfo contextInfo,
                                                  @NotNull LanguageFileType fileType,
                                                  @NotNull Language language,
                                                  @NotNull Project project,
                                                  boolean physical) {
    String contextConstraint = contextInfo.getContextConstraint();
    if (StringUtil.isEmpty(contextConstraint)) {
      PatternContext patternContext = contextInfo.getPatternContext();
      String contextId = patternContext != null ? patternContext.getId() : null;
      return createPatternTree(text, contextInfo.getTreeContext(), fileType, language, contextId, project, physical);
    }
    return doCreatePatternTree(text, contextInfo.getTreeContext(), fileType, language, project, physical, getContextByConstraint(contextConstraint, project));
  }
@NotNull
  public PsiElement @NotNull [] createPatternTree(@NotNull String text,
                                                  @NotNull PatternContextInfo contextInfo,
                                                  @NotNull LanguageFileType fileType,
                                                  @NotNull Language language,
                                                  @NotNull Project project,
                                                  boolean physical)