Where should operator overloading be permitted in Java?