code: @Nullable
      @Size(2)
      public int[] getValidDateFields() {
          if (!mIsDateValid) {
              return null;
          }
  
          final int[] monthYearPair = new int[2];
          final String rawNumericInput = getText().toString().replaceAll("/", "");
          final String[] dateFields = DateUtils.separateDateStringParts(rawNumericInput);
  
          try {
              monthYearPair[0] = Integer.parseInt(dateFields[0]);
              final int twoDigitYear = Integer.parseInt(dateFields[1]);
              final int fourDigitYear = DateUtils.convertTwoDigitYearToFour(twoDigitYear);
              monthYearPair[1] = fourDigitYear;
          } catch (NumberFormatException numEx) {
              // Given that the date should already be valid when getting to this method, we should
              // not his this exception. Returning null to indicate error if we do.
              return null;
          }
  
          return monthYearPair;
      }
docs: Gets the expiry date displayed on this control if it is valid, or {@code null} if it is not.
  The return value is given as a length-2 {@code int} array, where the first entry is the
  two-digit month (from 01-12) and the second entry is the four-digit year (2017, not 17).
  
  @return an {@code int} array of the form {month, year} if the date is valid, or {@code null}
  if it is not