code: private static boolean isSupportingNullArguments(ImmutableFunctionalTerm functionalTerm) {
          Predicate functionSymbol = functionalTerm.getFunctionSymbol();
          if (functionSymbol instanceof ExpressionOperation) {
              switch((ExpressionOperation)functionSymbol) {
                  case IS_NOT_NULL:
                  case IS_NULL:
                      // TODO: add COALESCE, EXISTS, NOT EXISTS
                      return true;
                  default:
                      return false;
              }
          }
          else if ((functionSymbol instanceof URITemplatePredicate)
                  || (functionSymbol instanceof BNodePredicate)) {
              return false;
          }
          return true;
      }
docs: TODO: move it elsewhere