docs: protected <OTHER, MISC, X> Specification<ENTITY> buildReferringEntitySpecification(Filter<X> filter,
                                                                                         Function<Root<ENTITY>, SetJoin<MISC, OTHER>> functionToEntity,
                                                                                         Function<SetJoin<MISC, OTHER>, Expression<X>> entityToColumn) {
          if (filter.getEquals() != null) {
              return equalsSpecification(functionToEntity.andThen(entityToColumn), filter.getEquals());
          } else if (filter.getSpecified() != null) {
              // Interestingly, 'functionToEntity' doesn't work, we need the longer lambda formula 
              return byFieldSpecified(root -> functionToEntity.apply(root), filter.getSpecified());
          }
          return null;
      }