In recent years, several prototypes have been proposed to extend Java with ownership types. To varying degrees, these proposals omit many features of Java such as static declarations, enum types, arrays, exceptions, inner classes, constructors, interfaces, equals, clone, and wildcards. In this project, we will try to address these features. In order to evaluate the adequacy of generic ownership encapsulation, the general purpose implementations of the Java Collections Framework will be refactored; then, measurements of performance time overheads will be conducted using tools for Java benchmarking.