dev-java/openjdk has a hard dependency for net-print/cups for DEPEND which renders the `cups? ( net-print/cups )' redundant in the RDEPEND list as it is always ignored.
it's a hard build time dependency. build will fail without cups. runtime optional dependency is not meaningless though. as you can delete bdeps after build is done. try building it with USE=-cups and running emerge --with-bdeps=n --depclean --pretend portage will offer to clean it, as it's not required at runtime because of that additional dependency.