Is this "if" expensive? Do we actually need to call it? It feels like there would be a coding error if we go into this method and the orphan is not a "true orphan" (which, if true, would argue for actually throwing an error if the orphan is not a true orphan).