docs: private String determineAndCacheOuterMostNullEmbeddable(String column, String[] path) {
  		String embeddable = path[0];
  		// process each embeddable from less specific to most specific
  		// exclude path leaves as it's a column and not an embeddable
  		for ( int index = 0; index < path.length - 1; index++ ) {
  			Set<String> columnsOfEmbeddable = getColumnsOfEmbeddableAndComputeEmbeddableNullness( embeddable );
  
  			if ( nullEmbeddables.contains( embeddable ) ) {
  				// the current embeddable only has null columns; cache that info for all the columns
  				for ( String columnOfEmbeddable : columnsOfEmbeddable ) {
  					columnToOuterMostNullEmbeddableCache.put( columnOfEmbeddable, embeddable );
  				}
  				break;
  			}
  			else {
  				maybeCacheOnNonNullEmbeddable( path, index, columnsOfEmbeddable );
  			}
  			// a more specific null embeddable might be present, carry on
  			embeddable += "." + path[index + 1];
  		}
  		return columnToOuterMostNullEmbeddableCache.get( column );
  	}