void (@NotNull ExtractMethodSnapshot from) { myMethodName = from.myMethodName; myStatic = from.myStatic; myIsChainedConstructor = from.myIsChainedConstructor; myMethodVisibility = from.myMethodVisibility; myNullability = from.myNullability; myReturnType = from.myReturnType != null ? from.myReturnType.getType() : null; myOutputVariables = ContainerUtil.map2Array(from.myOutputVariables, new PsiVariable[0], SmartPsiElementPointer::getElement); LOG.assertTrue(!ArrayUtil.contains(null, myOutputVariables)); myOutputVariable = ArrayUtil.getFirstElement(myOutputVariables); myArtificialOutputVariable = from.myArtificialOutputVariable != null ? from.myArtificialOutputVariable.getElement() : null; myVariableDatum = ContainerUtil.map2Array(from.myVariableDatum, new VariableData[0], VariableDataSnapshot::getData); LOG.assertTrue(!ArrayUtil.contains(null, myVariableDatum)); }