http://stackoverflow.com/questions/2079275/how-to-tell-if-an-object-has-already-been-allocated-so-it-isnt-allocated-multip/2079548#2079548