note that identifier can be null, resulting in a null pointer exception