protected void notifyEditorListener() {
    if (mListener != null) {
      mListener.onRequest(EditorListener.FIELD_CHANGED);
    }

    boolean isEmpty = isEmpty();
    if (mWasEmpty != isEmpty) {
      if (isEmpty) {
        if (mListener != null) {
          mListener.onRequest(EditorListener.FIELD_TURNED_EMPTY);
        }
        if (mIsDeletable) mDeleteContainer.setVisibility(View.INVISIBLE);
      } else {
        if (mListener != null) {
          mListener.onRequest(EditorListener.FIELD_TURNED_NON_EMPTY);
        }
        if (mIsDeletable) mDeleteContainer.setVisibility(View.VISIBLE);
      }
      mWasEmpty = isEmpty;
    }
  }
 protected void onOptionalFieldVisibilityChange() {
   if (mListener != null) {
     mListener.onRequest(EditorListener.EDITOR_FORM_CHANGED);
   }
 }