docs: public List<String> getLHSBoundFacts() {
          if (this.lhs == null) {
              return Collections.emptyList();
          }
          final List<String> list = new ArrayList<String>();
          for (int i = 0; i < this.lhs.length; i++) {
              IPattern pat = this.lhs[i];
              if (pat instanceof FromCompositeFactPattern) {
                  pat = ((FromCompositeFactPattern) pat).getFactPattern();
              }
              if (pat instanceof FactPattern) {
                  final FactPattern p = (FactPattern) pat;
                  if (p.getBoundName() != null) {
                      list.add(p.getBoundName());
                  }
              }
          }
          return list;
      }