code: @Override
    public final String getFor(final Class<?> pClass, final String pThingName) {
      if ("entityEdit".equals(pThingName)
        || "entityConfirmDelete".equals(pThingName)) {
        return getForRetrieveForEditDelete(pClass, pThingName);
      } else if ("entityCopy".equals(pThingName)) {
        return getForCopy(pClass);
      } else if ("entityPrint".equals(pThingName)) {
        return getForPrint(pClass);
      } else if ("entitySave".equals(pThingName)) {
        return getForSave(pClass);
      } else if ("entityReverse".equals(pThingName)) {
        return getForRetrieveForReverse(pClass);
      } else if ("entityFolDelete".equals(pThingName)) {
        return getForFolDelete(pClass);
      } else if ("entityFolSave".equals(pThingName)) {
        return getForFolSave(pClass);
      } else if ("entityDelete".equals(pThingName)) {
        return getForDelete(pClass);
      } else if ("entityCreate".equals(pThingName)) {
        return getForCreate(pClass);
      }
      return null;
    }
docs: <p>Get thing for given class and thing name.
  findbugs: UG_SYNC_SET_UNSYNC_GET - this code is designed
  for high performance. Getting name is happened very frequency
  (e.g. 10 per second by multi-threads).
  Setting is seldom (e.g. hot change configuration to fix program bug)
  or may not be happen.</p>
  @param pClass a Class
  @param pThingName Thing Name
  @return a thing