code: private void processFaultyGuiStrings() {
          FQMethod methodInfo = new FQMethod(getClassConstantOperand(), getNameConstantOperand(), getSigConstantOperand());
          Integer parmIndex = displayTextMethods.get(methodInfo);
          if ((parmIndex != null) && (stack.getStackDepth() > parmIndex.intValue())) {
              OpcodeStack.Item item = stack.getStackItem(parmIndex.intValue());
              if (item.getConstant() != null) {
                  bugReporter.reportBug(new BugInstance(this, BugType.S508C_NON_TRANSLATABLE_STRING.name(), NORMAL_PRIORITY).addClass(this).addMethod(this)
                          .addSourceLine(this));
              } else if (S508UserValue.APPENDED_STRING == item.getUserValue()) {
                  bugReporter.reportBug(
                          new BugInstance(this, BugType.S508C_APPENDED_STRING.name(), NORMAL_PRIORITY).addClass(this).addMethod(this).addSourceLine(this));
  
              }
          }
      }
docs: looks for calls to set a readable string that is generated from a static constant, as these strings are not translatable. also looks for setting readable
  strings that are appended together. This is likely not to be internationalizable.