Java backend: renamed KCollection#getItems to getContents which overrides Collection#getContents and eliminated this sort of bug for good
Java backend: minor refactorings for more readable code
Java backend: implemented some missing equals()/hashCode() methods