code: public static RAExpressionAttributes crossJoin(RAExpressionAttributes re1, RAExpressionAttributes re2) throws IllegalJoinException {
  
          checkRelationAliasesConsistency(re1, re2);
  
          ImmutableMap<QualifiedAttributeID, Term> attributes = merge(
                  re1.selectAttributes(id ->
                          (id.getRelation() != null) || re2.isAbsent(id.getAttribute())),
  
                  re2.selectAttributes(id ->
                          (id.getRelation() != null) || re1.isAbsent(id.getAttribute())));
  
          return new RAExpressionAttributes(attributes,
                  getAttributeOccurrences(re1, re2, id -> attributeOccurrencesUnion(id, re1, re2)));
      }
docs: CROSS JOIN (also denoted by , in SQL)
  
  @param re1 a {@link RAExpressionAttributes}
  @param re2 a {@link RAExpressionAttributes}
  @return a {@link RAExpressionAttributes}
  @throws IllegalJoinException if the same alias occurs in both arguments