Reading the hadoop-core javadocs, it appears as though TupleWritable can be used outside of the
org.apache.hadoop.mapred.join.* package. A user can import TupleWritable but cannot use it correctly without the setWritten, and clearWritten methods being public. It seems as the though the intent was to make TupleWritable hidden from the user as it is dependent on CompositeRecordReader. As a possible solution, classes within a package can be made invisible to the user by omitting 'public' from the class definition. In the case of TupleWritable, this removes the javadoc link from other classes in mapred.join and it's not clear if these classes should be hidden from the user.