Shouldn't this be an abstract method instead of returning null?