public void extendSchema() {
		// Recursive method to add 1-1 Relationships from vicinity up to a
		// defined level
		System.out.println("Extending schema...");
		logger.info("Extending schema");

		for (Table table : schema.getTables()) {
			Set<ColumnFamily> extendedColumnFamilies = extendAndMerge(table, 1,
					"", table);

			for (ColumnFamily columnFamily : extendedColumnFamilies) {

				// Nested families are added as a special type EXT
				table.addColumnFamily(columnFamily.getName(),
						columnFamily.getBaseRelationalTable(),
						ColumnFamily.Type.EXT);
				table.getColumnFamily(columnFamily.getName()).setManyKey(columnFamily.getManyKey());
				
				String[] pieces = columnFamily.getBaseRelationalTable().split(
						conf.getExtColFamilyDelimiter());
				String tableName = pieces[pieces.length - 1];

				for (Column col : columnFamily.getColumns()) {
					boolean checked = false;

					if (usage.isColumnUsedInTheSameQueryWithTable(tableName,
							col.getName(), table.getName())) {
						checked = true;
					}

					if (Main.ENV.equals("DEBUG")) {
						checked = true;
					}
					
					if (columnFamily.getBaseRelationalTable().equals(
							"products")
							&& !table.getName().equals("products")
							&& !(col.getName().equals("PROD_ID")
									|| col.getName().equals("TITLE"))) {
						checked = false;
					}
					
					

					table.addColumn(columnFamily.getName(), col.getTable(),
							col.getName(), col.getType(), checked);
				}
			}
		}
	}