А я теперь точно знаю, где хочу жить. В сказочном бельгийском городе Брюгге, в старом узком доме неподалеку от какого-нибудь канала. Ранним утром прогуливаться по мощенным улочкам, кормить лебедей, а потом возвращаться домой, где меня ждут. Ради такого дела даже фламандский готов выучить. Эх.
Все публичные методы экземпляра должны быть либо заинтерфейсены (а классы, для этого, соответственно, обынтерфейсены) либо оверрайдить методы стандартных библиотечных классов (а классы, для этого, соответственно, должны быть подклассами стандартных библиотечных классов). Недурственно было бы, чтоб и сами стандартные библиотечные классы были все обынтерфейсены. Сделать это в общем не трудно, для начала надо сделать так, чтоб класс Object натягивал морды Hashable, Stringable и ThreadWaitingPlace, ну и для .equals(Object) надо бы интерфейсег придумать;-). Ну а кроме шуток, хорошо бы чтоб хотя бы всё, что выше Object и кроме Thread было обынтерфейсено.