Is it normal for a stable virtual to require an unstable package?

Running 'emerge -auND' generates the following output on my system:

Calculating dependencies  .... ....... done!
[ebuild  NS   ~] dev-java/icedtea-bin-7.2.5.3 [6.1.13.5] USE="X alsa cups nsplugin -cjk -doc -examples (-selinux) -source -webstart"
[ebuild  NS    ] virtual/jdk-1.7.0 [1.6.0-r2]
[ebuild  NS    ] virtual/jre-1.7.0 [1.6.0-r1]
[ebuild     U ~] dev-java/icedtea-web-1.5.1-r1 [1.4.2] USE="icedtea7%* -tagsoup%"

The following keyword changes are necessary to proceed:
 (see "package.accept_keywords" in the portage(5) man page for more details)
# required by virtual/jdk-1.7.0::gentoo
# required by virtual/jre-1.7.0::gentoo
# required by sys-libs/db-4.8.30-r2::gentoo[java]
# required by dev-libs/redland-1.0.16::gentoo[berkdb]
# required by app-office/libreoffice-4.4.1.2::gentoo
# required by @selected
# required by @world (argument)
=dev-java/icedtea-bin-7.2.5.3 ~x86
# required by dev-java/icedtea-bin-7.2.5.3::gentoo[nsplugin]
# required by virtual/jdk-1.7.0::gentoo
# required by virtual/jre-1.7.0::gentoo
# required by sys-libs/db-4.8.30-r2::gentoo[java]
# required by dev-libs/redland-1.0.16::gentoo[berkdb]
# required by app-office/libreoffice-4.4.1.2::gentoo
# required by @selected
# required by @world (argument)
=dev-java/icedtea-web-1.5.1-r1 ~x86

/usr/portage/virtual/jre/jre-1.7.0.ebuild:12
        =virtual/jdk-1.7.0*
/usr/portage/virtual/jdk/jdk-1.7.0.ebuild:12,13
        =dev-java/icedtea-bin-7*
        =dev-java/icedtea-7*

Thanks.