docs: public static boolean isReadLocalsFromTuple(final RuleBuildContext context,
                                                  final AccumulateDescr accumDescr,
                                                  final RuleConditionElement source) {
          if (accumDescr.isMultiPattern()) {
              return true;
          }
  
          PatternDescr inputPattern = accumDescr.getInputPattern();
          if (inputPattern == null) {
              context.addError(new DescrBuildError(context.getParentDescr(),
                                                   accumDescr,
                                                   null,
                                                   "Invalid accumulate pattern in rule '" + context.getRule().getName() + "'."));
              return true;
          }
  
          if (source instanceof Pattern) {
              if ( ((Pattern) source).hasXPath() ) {
                  return true;
              }
              if ( ((Pattern) source).getSource() instanceof EntryPointId ) {
                  return false;
              }
          }
  
          if ( inputPattern.getSource() != null &&
                  !( inputPattern.getSource() instanceof WindowReferenceDescr ) &&
                  !( inputPattern.getSource() instanceof EntryPointDescr ) ) {
              return true;
          }
  
          return source instanceof QueryElement ||
                 ( source.getNestedElements().size() == 1 && source.getNestedElements().get( 0 ) instanceof QueryElement );
      }