forked from http://doma.seasar.org/