private BaseExpressionToFieldHandler.InitializationPlace getSelection(BaseExpressionToFieldHandler.InitializationPlace ourLastInitializerPlace,
                                                                        boolean canBeInitializedInField,
                                                                        boolean canBeInitializedInConstructor,
                                                                        int canBeInitializedInCurrentMethod) {
    final PsiMethod setUpMethod = TestFrameworks.getInstance().findSetUpMethod(myParentClass);
    if (ourLastInitializerPlace == BaseExpressionToFieldHandler.InitializationPlace.IN_SETUP_METHOD &&
        hasSetUpChoice() && 
        (myInitializerExpression != null && PsiTreeUtil.isAncestor(setUpMethod, myInitializerExpression, false) || TestFrameworks.getInstance().isTestClass(myParentClass))) {
      return BaseExpressionToFieldHandler.InitializationPlace.IN_SETUP_METHOD;
    }
    else {
      if (ourLastInitializerPlace == BaseExpressionToFieldHandler.InitializationPlace.IN_CONSTRUCTOR &&
          canBeInitializedInConstructor && myParentClass.getConstructors().length > 0) {
        return BaseExpressionToFieldHandler.InitializationPlace.IN_CONSTRUCTOR;
      }
      else {
        if (ourLastInitializerPlace == BaseExpressionToFieldHandler.InitializationPlace.IN_FIELD_DECLARATION &&
            canBeInitializedInField) {
          return BaseExpressionToFieldHandler.InitializationPlace.IN_FIELD_DECLARATION;
        }
        else {
          if (canBeInitializedInCurrentMethod > -1) {
            return BaseExpressionToFieldHandler.InitializationPlace.IN_CURRENT_METHOD;
          }
          else if (canBeInitializedInField) {
            return BaseExpressionToFieldHandler.InitializationPlace.IN_FIELD_DECLARATION;
          }
          else {
            return BaseExpressionToFieldHandler.InitializationPlace.IN_CURRENT_METHOD;
          }
        }
      }
    }
  }
private BaseExpressionToFieldHandler.InitializationPlace getSelection(BaseExpressionToFieldHandler.InitializationPlace ourLastInitializerPlace,
                                                                        boolean canBeInitializedInField,
                                                                        boolean canBeInitializedInConstructor,
                                                                        int canBeInitializedInCurrentMethod)