ref($_[0]) and ( ref($_[0]) eq (caller(0))[0] || ( caller(0) )[0] eq __PACKAGE__ )