code: protected final List<Proposition> createResults(
              List<Proposition> propositions) {
          List<Proposition> result;
          if (propositions != null) {
              if (this.constraints.length > 0) {
                  result = new ArrayList<>();
                  for (Proposition prop : propositions) {
                      applyPropertyConstraints(prop, result);
                  }
              } else {
                  result = propositions;
              }
  
              result = applyComparatorAndIndices(result);
          } else {
              result = Collections.emptyList();
          }
  
          return result;
      }
docs: Filters out propositions by applying the property constraint and index
  constraints. Modifies <code>propositions</code> in-place!
  
  @param propositions a {@link Collection<Proposition>}. If
  <code>null</code>, an empty list is returned.
  
  @return a {@link List<Proposition>}. Not guaranteed to be modifiable.