private static PsiType getVariableTypeAt(GrControlFlowOwner flowOwner, Instruction instruction, int descriptorId, VariableDescriptor descriptor) {
    PsiElement context = instruction.getElement();
    PsiType outputType = TypeInferenceHelper.getInferredType(descriptorId, instruction, flowOwner);
    if (outputType == null) {
      GrVariable variable = resolveToLocalVariable(context, descriptor.getName());
      if (variable != null) {
        outputType = variable.getDeclaredType();
      }
    }
    return outputType;
  }
private static PsiType getVariableTypeAt(GrControlFlowOwner flowOwner, Instruction instruction, int descriptorId, VariableDescriptor descriptor)