ok, so i've found the point at which we get the NPE if you have time to discuss it further; k Shoot KernelDeployment deployment = unit.getAttachment(NAME_OUTPUT, KernelDeployment.class); this line returns this: AbstractKernelDeployment@b4357a{name=null installed=false beanFactories=[]} when we try to do the BeanMetaData bmd : deployment.getBeans() in line 248 NPE is thrown it seems to me that deployment isn't null, but getBeans is returning null Uh huh. Which we figured So To fix: Replace: for (BeanMetaData bmd : deployment.getBeans()) With Collection bmds = deployment.getBeans(); if(bmds!=null) { for (BeanMetaData bmd : bmds) .... etc