code: @Override
  	public String[] getColumnsWithoutKeyColumns(Iterable<String> candidates) {
  		List<String> nonKeyColumns = new ArrayList<String>();
  		for ( String column : candidates ) {
  			// exclude columns from the associationKey as they can be guessed via metadata
  			if ( !isKeyColumn( column ) ) {
  				nonKeyColumns.add( column );
  			}
  		}
  
  		return nonKeyColumns.toArray( new String[nonKeyColumns.size()] );
  	}
docs: Returns all those columns from the given candidate list which are not part of this key family.
  <p>
  Stores can opt to persist only the returned columns when writing a row of this key family. All other columns can
  be retrieved from the key meta-data itself when reading an association row.
  <p>
  The column order is not preserved.