WebObjects is a pure java application framework that started out written in Objective-C. Initially it was built on the same NSFoundation framework that underpinned NextStep (the ancestor to current Cocoa frameworks). When WebObjects was ported to Java, the NSFoundation was ported as well becoming the JavaFoundation.framework.

The JavaFoundation.framwork defines a number of the unique collection classes that WebObjects uses:

The NS* collection classes eased the transition from Obj-C to Java, but they also have one feature that made them indispensable for WebObjects: They are all Key Value Coding (KVC) compliant.

As of WebObjects 5.4, the NS* collection classes support the Java collection APIs.