public MethodParameterInjection copyFrom(@NotNull BaseInjection o) {
   super.copyFrom(o);
   if (o instanceof MethodParameterInjection) {
     final MethodParameterInjection other = (MethodParameterInjection) o;
     myClassName = other.getClassName();
     myParameterMap.clear();
     for (MethodInfo info : other.myParameterMap.values()) {
       myParameterMap.put(info.methodSignature, info.copy());
     }
   }
   return this;
 }
 public static List<String> getPatternString(final MethodParameterInjection injection) {
   final ArrayList<String> list = new ArrayList<>();
   final String className = injection.getClassName();
   for (MethodParameterInjection.MethodInfo info : injection.getMethodInfos()) {
     final boolean[] paramFlags = info.getParamFlags();
     final int paramFlagsLength = paramFlags.length;
     final String methodName = info.getMethodName();
     final String typesString = getParameterTypesString(info.getMethodSignature());
     if (info.isReturnFlag()) {
       list.add(getPatternStringForJavaPlace(methodName, typesString, -1, className));
     }
     for (int i = 0; i < paramFlagsLength; i++) {
       if (paramFlags[i]) {
         list.add(getPatternStringForJavaPlace(methodName, typesString, i, className));
       }
     }
   }
   return list;
 }