@Override
  public synchronized ElementPattern<T> compileElementPattern(final String text) {
    Node node = processElementPatternText(text, frame -> {
      final Object[] args = frame.params.toArray();
      for (int i = 0, argsLength = args.length; i < argsLength; i++) {
        args[i] = args[i] instanceof String ? myStringInterner.intern((String)args[i]) : args[i];
      }
      return new Node((Node)frame.target, myStringInterner.intern(frame.methodName), args.length == 0 ? ArrayUtilRt.EMPTY_OBJECT_ARRAY
                                                                                                      : args);
    });
    if (node == null) node = new Node(ERROR_NODE, text, null);
    return new LazyPresentablePattern<>(node, myStaticMethods);
  }
@Override
  public synchronized ElementPattern<T> compileElementPattern(final String text)