Upgraded APIs: Flink (0.8) and HBase (0.98.x) + profiles

I had to create an hadoop.core.version variable to manage the fact that cloudera has different versions for hadoop-core and hadoop-common..
I tried to remove HBaseResult and HBaseKey using directly Tuple2<ImmutableBytesWritable, Result> as you suggested but this does not work because of Avro serialization..at the moment I was trying to use the following:

@Override
	public Tuple2<ImmutableBytesWritable, Result> nextRecord(
			Tuple2<ImmutableBytesWritable, Result> reuse) throws IOException {
		if (this.tableRecordReader == null)
		{
			throw new IOException("No table record reader provided!");
		}

		try {
			if (this.tableRecordReader.nextKeyValue())
			{
				Result currentValue = tableRecordReader.getCurrentValue();
				currentValue.setExists(Boolean.TRUE);//fix null pointer in avro serialization
				ImmutableBytesWritable currentKey = tableRecordReader.getCurrentKey();
				reuse.setField(currentKey, 0);
				reuse.setField(currentValue, 1);
				return reuse;
			} else
			{
				this.endReached = true;
			}
		} catch (InterruptedException e) {
			LOG.error("Table reader has been interrupted", e);
			throw new IOException(e);
		}
		return null;
	}

How do I have to proceed?