Почему переменная vendor должна быть статичекой? Ну с counter понятно, она считает созданные объекты и сохраняет значение в переменную принадлежащую классу. А vendor? Изначально оставил модификатор статик только у counter, а везде убрал. Компилятор ругался на vendor. Изменил ее на статик - заработало.