class PopUpCoachMarkPresenter {

    @PopUpPosition
    protected int getCorrectPositionOfCoachMarkIfDefaultFails(Point viewCenterPoint,
                                                            CoachMarkPixelInfo coachMarkDimenInPixel) {

        @PopUpPosition
        int correctPopUpPosition = PopUpPosition.NONE;

        if (checkIfRightPossible(viewCenterPoint, coachMarkDimenInPixel))
            correctPopUpPosition = PopUpPosition.RIGHT;
        else if (checkIfBottomPossible(viewCenterPoint, coachMarkDimenInPixel))
            correctPopUpPosition = PopUpPosition.BOTTOM;
        else if (checkIfLeftPossible(viewCenterPoint, coachMarkDimenInPixel))
            correctPopUpPosition = PopUpPosition.LEFT;
        else if (checkIfTopPossible(viewCenterPoint, coachMarkDimenInPixel))
            correctPopUpPosition = PopUpPosition.TOP;

        return correctPopUpPosition;
    }

    public  PopUpCoachMarkPresenter(final IStringResourceProvider stringResourceProvider,
                                   final IDimensionResourceProvider dimensionResourceProvider,
                                   final ITypeFaceProvider typeFaceProvider,
                                   final IScreenInfoProvider screenInfoProvider);

}