Added JavaDocs and Headers. Also renamed Subset.when() to Subset.evaluate() since it is an operation.