void () { setPsiClass(myOrigInjection.getClassName()); rebuildTreeModel(); final Map<String, MethodParameterInjection.MethodInfo> map = new HashMap<>(); for (PsiMethod method : myData.keySet()) { final MethodParameterInjection.MethodInfo methodInfo = myData.get(method); map.put(methodInfo.getMethodSignature(), methodInfo); } for (MethodParameterInjection.MethodInfo info : myOrigInjection.getMethodInfos()) { final MethodParameterInjection.MethodInfo curInfo = map.get(info.getMethodSignature()); if (curInfo != null) { System.arraycopy(info.getParamFlags(), 0, curInfo.getParamFlags(), 0, Math.min(info.getParamFlags().length, curInfo.getParamFlags().length)); curInfo.setReturnFlag(info.isReturnFlag()); } else { final PsiMethod missingMethod = MethodParameterInjection.makeMethod(myProject, info.getMethodSignature()); myData.put(missingMethod, info.copy()); } } refreshTreeStructure(); final Enumeration enumeration = myRootNode.children(); while (enumeration.hasMoreElements()) { PsiMethod method = (PsiMethod)((DefaultMutableTreeNode)enumeration.nextElement()).getUserObject(); assert myData.containsKey(method); } }