weird java stuff