Data stuctures: Queue implementation in Java