Program: 171375
Project: 171375
Buggy source:
private GenderAppearance calculateGenderAppearance(){
  boolean visibleVagina=isCoverableAreaExposed(CoverableArea.VAGINA) && hasVagina(), visiblePenis=isCoverableAreaExposed(CoverableArea.PENIS) && hasPenis();
  if (isFeminine()) {
    if (visibleVagina && visiblePenis) {
      if (isPlayer()) {
        return new GenderAppearance("String_Node_Str",Gender.FUTANARI);
      }
 else {
        return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.FUTANARI);
      }
    }
 else     if (visibleVagina) {
      if ((getPenisRawSizeValue() >= PenisSize.THREE_LARGE.getMaximumValue() || getTesticleSize().getValue() >= TesticleSize.FOUR_HUGE.getValue()) && hasPenis()) {
        if (isPlayer()) {
          if (getPenisRawSizeValue() >= PenisSize.THREE_LARGE.getMaximumValue()) {
            return new GenderAppearance("String_Node_Str",Gender.FUTANARI);
          }
 else {
            return new GenderAppearance("String_Node_Str" + getTesticleSize().getDescriptor() + "String_Node_Str",Gender.FUTANARI);
          }
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.FUTANARI);
        }
      }
      if (hasPenis()) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str",Gender.FEMALE);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str"),Gender.FEMALE);
        }
      }
 else {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str",Gender.FEMALE);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str"),Gender.FEMALE);
        }
      }
    }
 else     if (visiblePenis) {
      if (isPlayer()) {
        return new GenderAppearance("String_Node_Str",Gender.SHEMALE);
      }
 else {
        return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.SHEMALE);
      }
    }
 else {
      if ((getPenisRawSizeValue() >= PenisSize.THREE_LARGE.getMaximumValue() || getTesticleSize().getValue() >= TesticleSize.FOUR_HUGE.getValue()) && hasPenis()) {
        if (isPlayer()) {
          if (getPenisRawSizeValue() >= PenisSize.THREE_LARGE.getMaximumValue()) {
            return new GenderAppearance("String_Node_Str",Gender.SHEMALE);
          }
 else {
            return new GenderAppearance("String_Node_Str" + getTesticleSize().getDescriptor() + "String_Node_Str",Gender.SHEMALE);
          }
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.SHEMALE);
        }
      }
 else {
        if (hasPenis()) {
          if (isPlayer()) {
            return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str",Gender.FEMALE);
          }
 else {
            return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str"),Gender.FEMALE);
          }
        }
 else         if (hasVagina()) {
          if (isPlayer()) {
            return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str",Gender.FEMALE);
          }
 else {
            return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str"),Gender.FEMALE);
          }
        }
 else {
          if (isCoverableAreaExposed(CoverableArea.VAGINA) && isCoverableAreaExposed(CoverableArea.PENIS)) {
            if (isPlayer()) {
              if (isFeminine()) {
                return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_FEMININE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_FEMININE.getName()+ "String_Node_Str",Gender.GENDERLESS_FEMININE);
              }
 else {
                return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_MASCULINE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_MASCULINE.getName()+ "String_Node_Str",Gender.GENDERLESS_MASCULINE);
              }
            }
 else {
              if (isFeminine()) {
                return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_FEMININE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_FEMININE.getName()+ "String_Node_Str"),Gender.GENDERLESS_FEMININE);
              }
 else {
                return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_MASCULINE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_MASCULINE.getName()+ "String_Node_Str"),Gender.GENDERLESS_MASCULINE);
              }
            }
          }
 else {
            if (isPlayer()) {
              return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str",Gender.FEMALE);
            }
 else {
              return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str"),Gender.FEMALE);
            }
          }
        }
      }
    }
  }
 else {
    if (visibleVagina && visiblePenis) {
      if (isPlayer()) {
        return new GenderAppearance("String_Node_Str",Gender.HERMAPHRODITE);
      }
 else {
        return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.HERMAPHRODITE);
      }
    }
 else     if (visibleVagina) {
      if ((getPenisRawSizeValue() >= PenisSize.THREE_LARGE.getMaximumValue() || getTesticleSize().getValue() >= TesticleSize.FOUR_HUGE.getValue()) && hasPenis()) {
        if (isPlayer()) {
          if (getPenisRawSizeValue() >= PenisSize.THREE_LARGE.getMaximumValue()) {
            return new GenderAppearance("String_Node_Str",Gender.HERMAPHRODITE);
          }
 else {
            return new GenderAppearance("String_Node_Str" + getTesticleSize().getDescriptor() + "String_Node_Str",Gender.HERMAPHRODITE);
          }
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.HERMAPHRODITE);
        }
      }
      if (hasPenis()) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.CUNT_BOY.getName()) + "String_Node_Str"+ Gender.CUNT_BOY.getName()+ "String_Node_Str",Gender.CUNT_BOY);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.CUNT_BOY.getName()) + "String_Node_Str"+ Gender.CUNT_BOY.getName()+ "String_Node_Str"),Gender.CUNT_BOY);
        }
      }
 else {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.CUNT_BOY.getName()) + "String_Node_Str"+ Gender.CUNT_BOY.getName()+ "String_Node_Str",Gender.CUNT_BOY);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.CUNT_BOY.getName()) + "String_Node_Str"+ Gender.CUNT_BOY.getName()+ "String_Node_Str"),Gender.CUNT_BOY);
        }
      }
    }
 else     if (visiblePenis) {
      if (isPlayer()) {
        return new GenderAppearance("String_Node_Str",Gender.MALE);
      }
 else {
        return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.MALE);
      }
    }
 else {
      if ((getPenisRawSizeValue() >= PenisSize.THREE_LARGE.getMaximumValue() || getTesticleSize().getValue() >= TesticleSize.FOUR_HUGE.getValue()) && hasPenis()) {
        if (isPlayer()) {
          if (getPenisRawSizeValue() >= PenisSize.THREE_LARGE.getMaximumValue()) {
            return new GenderAppearance("String_Node_Str",Gender.MALE);
          }
 else {
            return new GenderAppearance("String_Node_Str" + getTesticleSize().getDescriptor() + "String_Node_Str",Gender.MALE);
          }
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.MALE);
        }
      }
 else {
        if (hasPenis()) {
          if (isPlayer()) {
            return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.MALE.getName()) + "String_Node_Str"+ Gender.MALE.getName()+ "String_Node_Str",Gender.MALE);
          }
 else {
            return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.MALE.getName()) + "String_Node_Str"+ Gender.MALE.getName()+ "String_Node_Str"),Gender.MALE);
          }
        }
 else         if (hasVagina()) {
          if (isPlayer()) {
            return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.MALE.getName()) + "String_Node_Str"+ Gender.MALE.getName()+ "String_Node_Str",Gender.MALE);
          }
 else {
            return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.MALE.getName()) + "String_Node_Str"+ Gender.MALE.getName()+ "String_Node_Str"),Gender.MALE);
          }
        }
 else {
          if (isCoverableAreaExposed(CoverableArea.VAGINA) && isCoverableAreaExposed(CoverableArea.PENIS)) {
            if (isPlayer()) {
              if (isFeminine()) {
                return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_FEMININE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_FEMININE.getName()+ "String_Node_Str",Gender.GENDERLESS_FEMININE);
              }
 else {
                return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_MASCULINE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_MASCULINE.getName()+ "String_Node_Str",Gender.GENDERLESS_MASCULINE);
              }
            }
 else {
              if (isFeminine()) {
                return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_FEMININE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_FEMININE.getName()+ "String_Node_Str"),Gender.GENDERLESS_FEMININE);
              }
 else {
                return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_MASCULINE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_MASCULINE.getName()+ "String_Node_Str"),Gender.GENDERLESS_MASCULINE);
              }
            }
          }
 else {
            if (isPlayer()) {
              return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.MALE.getName()) + "String_Node_Str"+ Gender.MALE.getName()+ "String_Node_Str",Gender.MALE);
            }
 else {
              return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.MALE.getName()) + "String_Node_Str"+ Gender.MALE.getName()+ "String_Node_Str"),Gender.MALE);
            }
          }
        }
      }
    }
  }
}

Fixed version (ground truth):
private GenderAppearance calculateGenderAppearance(){
  boolean visibleVagina=isCoverableAreaExposed(CoverableArea.VAGINA) && hasVagina();
  boolean visiblePenis=isCoverableAreaExposed(CoverableArea.PENIS) && hasPenis();
  boolean bulgeFromCock=hasPenis() && (hasPenisModifier(PenisModifier.SHEATHED) ? getPenisRawSizeValue() >= PenisSize.FOUR_HUGE.getMaximumValue() : getPenisRawSizeValue() >= PenisSize.THREE_LARGE.getMaximumValue());
  boolean bulgeFromBalls=hasPenis() && (isInternalTesticles() ? false : getTesticleSize().getValue() >= TesticleSize.FOUR_HUGE.getValue());
  if (isFeminine()) {
    if (visibleVagina && visiblePenis) {
      if (isPlayer()) {
        return new GenderAppearance("String_Node_Str",Gender.FUTANARI);
      }
 else {
        return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.FUTANARI);
      }
    }
 else     if (visibleVagina) {
      if (bulgeFromCock) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str",Gender.FUTANARI);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.FUTANARI);
        }
      }
 else       if (bulgeFromBalls) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str",Gender.FUTANARI);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.FUTANARI);
        }
      }
      if (hasPenis()) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str",Gender.FEMALE);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str"),Gender.FEMALE);
        }
      }
 else {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str",Gender.FEMALE);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str"),Gender.FEMALE);
        }
      }
    }
 else     if (visiblePenis) {
      if (isPlayer()) {
        return new GenderAppearance("String_Node_Str",Gender.SHEMALE);
      }
 else {
        return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.SHEMALE);
      }
    }
 else {
      if (bulgeFromCock) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str",Gender.SHEMALE);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.SHEMALE);
        }
      }
 else       if (bulgeFromBalls) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str",Gender.SHEMALE);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.SHEMALE);
        }
      }
      if (hasPenis()) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str",Gender.FEMALE);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str"),Gender.FEMALE);
        }
      }
 else       if (hasVagina()) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str",Gender.FEMALE);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str"),Gender.FEMALE);
        }
      }
 else {
        if (isCoverableAreaExposed(CoverableArea.VAGINA) && isCoverableAreaExposed(CoverableArea.PENIS)) {
          if (isPlayer()) {
            if (isFeminine()) {
              return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_FEMININE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_FEMININE.getName()+ "String_Node_Str",Gender.GENDERLESS_FEMININE);
            }
 else {
              return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_MASCULINE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_MASCULINE.getName()+ "String_Node_Str",Gender.GENDERLESS_MASCULINE);
            }
          }
 else {
            if (isFeminine()) {
              return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_FEMININE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_FEMININE.getName()+ "String_Node_Str"),Gender.GENDERLESS_FEMININE);
            }
 else {
              return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_MASCULINE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_MASCULINE.getName()+ "String_Node_Str"),Gender.GENDERLESS_MASCULINE);
            }
          }
        }
 else {
          if (isPlayer()) {
            return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str",Gender.FEMALE);
          }
 else {
            return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.FEMALE.getName()) + "String_Node_Str"+ Gender.FEMALE.getName()+ "String_Node_Str"),Gender.FEMALE);
          }
        }
      }
    }
  }
 else {
    if (visibleVagina && visiblePenis) {
      if (isPlayer()) {
        return new GenderAppearance("String_Node_Str",Gender.HERMAPHRODITE);
      }
 else {
        return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.HERMAPHRODITE);
      }
    }
 else     if (visibleVagina) {
      if (bulgeFromCock) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str",Gender.HERMAPHRODITE);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.HERMAPHRODITE);
        }
      }
 else       if (bulgeFromBalls) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str",Gender.HERMAPHRODITE);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.HERMAPHRODITE);
        }
      }
      if (hasPenis()) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.CUNT_BOY.getName()) + "String_Node_Str"+ Gender.CUNT_BOY.getName()+ "String_Node_Str",Gender.CUNT_BOY);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.CUNT_BOY.getName()) + "String_Node_Str"+ Gender.CUNT_BOY.getName()+ "String_Node_Str"),Gender.CUNT_BOY);
        }
      }
 else {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.CUNT_BOY.getName()) + "String_Node_Str"+ Gender.CUNT_BOY.getName()+ "String_Node_Str",Gender.CUNT_BOY);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.CUNT_BOY.getName()) + "String_Node_Str"+ Gender.CUNT_BOY.getName()+ "String_Node_Str"),Gender.CUNT_BOY);
        }
      }
    }
 else     if (visiblePenis) {
      if (isPlayer()) {
        return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.MALE.getName()) + "String_Node_Str"+ Gender.MALE.getName()+ "String_Node_Str",Gender.MALE);
      }
 else {
        return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.MALE.getName()) + "String_Node_Str"+ Gender.MALE.getName()+ "String_Node_Str"),Gender.MALE);
      }
    }
 else {
      if (bulgeFromCock) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str",Gender.MALE);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.MALE);
        }
      }
 else       if (bulgeFromBalls) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str",Gender.MALE);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str"),Gender.MALE);
        }
      }
      if (hasPenis()) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.MALE.getName()) + "String_Node_Str"+ Gender.MALE.getName()+ "String_Node_Str",Gender.MALE);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.MALE.getName()) + "String_Node_Str"+ Gender.MALE.getName()+ "String_Node_Str"),Gender.MALE);
        }
      }
 else       if (hasVagina()) {
        if (isPlayer()) {
          return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.MALE.getName()) + "String_Node_Str"+ Gender.MALE.getName()+ "String_Node_Str",Gender.MALE);
        }
 else {
          return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.MALE.getName()) + "String_Node_Str"+ Gender.MALE.getName()+ "String_Node_Str"),Gender.MALE);
        }
      }
 else {
        if (isCoverableAreaExposed(CoverableArea.VAGINA) && isCoverableAreaExposed(CoverableArea.PENIS)) {
          if (isPlayer()) {
            if (isFeminine()) {
              return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_FEMININE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_FEMININE.getName()+ "String_Node_Str",Gender.GENDERLESS_FEMININE);
            }
 else {
              return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_MASCULINE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_MASCULINE.getName()+ "String_Node_Str",Gender.GENDERLESS_MASCULINE);
            }
          }
 else {
            if (isFeminine()) {
              return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_FEMININE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_FEMININE.getName()+ "String_Node_Str"),Gender.GENDERLESS_FEMININE);
            }
 else {
              return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.GENDERLESS_MASCULINE.getName()) + "String_Node_Str"+ Gender.GENDERLESS_MASCULINE.getName()+ "String_Node_Str"),Gender.GENDERLESS_MASCULINE);
            }
          }
        }
 else {
          if (isPlayer()) {
            return new GenderAppearance("String_Node_Str" + UtilText.generateSingularDeterminer(Gender.MALE.getName()) + "String_Node_Str"+ Gender.MALE.getName()+ "String_Node_Str",Gender.MALE);
          }
 else {
            return new GenderAppearance(UtilText.parse(this,"String_Node_Str" + UtilText.generateSingularDeterminer(Gender.MALE.getName()) + "String_Node_Str"+ Gender.MALE.getName()+ "String_Node_Str"),Gender.MALE);
          }
        }
      }
    }
  }
}