@Override
  protected String buildFullName(
      String firstName, String middleName, String lastName, boolean useInitials) {

    if (!LocalizationZHUtil.isCJKUnifiedIdeographString(firstName)
        && !LocalizationZHUtil.isCJKUnifiedIdeographString(middleName)
        && !LocalizationZHUtil.isCJKUnifiedIdeographString(lastName)) {

      return super.buildFullName(firstName, middleName, lastName, useInitials);
    }

    if (Validator.isNull(lastName)) {
      return firstName;
    }

    return lastName + firstName;
  }
  @Override
  public String[] splitFullName(String fullName) {
    if (!LocalizationZHUtil.isCJKUnifiedIdeographString(fullName)) {
      return super.splitFullName(fullName);
    }

    String firstName = StringPool.BLANK;
    String middleName = StringPool.BLANK;
    String lastName = StringPool.BLANK;

    if (Validator.isNotNull(fullName)) {
      if (fullName.length() == 1) {
        firstName = fullName;
      }

      firstName = fullName.substring(1);
      lastName = fullName.substring(0, 1);
    }

    return new String[] {firstName, middleName, lastName};
  }