java logical question