Menyediakan implementasi default dari bandingkanTo yang menggunakan pengurutan kode sumber tidak masalah; menyelesaikannya adalah salah langkah di pihak Sun. Ordinal sudah memperhitungkan perintah deklarasi. Saya setuju bahwa dalam kebanyakan situasi, seorang pengembang hanya dapat secara logis memesan elemen mereka, tetapi terkadang seseorang ingin kode sumber diatur sedemikian rupa sehingga keterbacaan dan pemeliharaan menjadi yang terpenting. Sebagai contoh:
KILOBYTE (false, true, 3, "kB"),
MEGABYTE (false, true, 6, "MB"),
GIGABYTE (false, true, 9, "GB"),
TERABYTE (false, true, 12, "TB"),
PETABYTE (false, true, 15, "PB"),
EXABYTE (false, true, 18, "EB"),
ZETTABYTE(false, true, 21, "ZB"),
YOTTABYTE(false, true, 24, "YB"),
KIBIBYTE(false, false, 10, "KiB"),
MEBIBYTE(false, false, 20, "MiB"),
GIBIBYTE(false, false, 30, "GiB"),
TEBIBYTE(false, false, 40, "TiB"),
PEBIBYTE(false, false, 50, "PiB"),
EXBIBYTE(false, false, 60, "EiB"),
ZEBIBYTE(false, false, 70, "ZiB"),
YOBIBYTE(false, false, 80, "YiB");
Urutan di atas terlihat bagus dalam kode sumber, tetapi tidak seperti yang diyakini penulis tentang cara membandingkanTo. Perilaku bandingkan yang diinginkan adalah mengurutkan berdasarkan jumlah byte. Pengurutan kode sumber yang akan membuat hal itu terjadi akan menurunkan pengaturan kode.
Sebagai klien enumerasi saya tidak peduli bagaimana penulis mengatur kode sumber mereka. Saya memang ingin algoritme perbandingan mereka masuk akal. Sun tidak perlu membuat penulis kode sumber terikat.