一応指摘しておくが、>>214は悪い設計の見本。
もうSerial#を入れてしまっていて、変更不可ならしかたないが。