docs: public final boolean tryToPutIdable(final Field pField, final Method pGetter,
      final Object pFrom, final ColumnsValues pTo,
        final  String pName) throws Exception {
      //reveal foreign ID fields names:
      if (Integer.class == pField.getType()) {
        Integer val;
        if (pFrom == null) {
          val = null;
        } else {
          val = (Integer) pGetter.invoke(pFrom);
        }
        pTo.put(pName, val);
        return true;
      } else if (Long.class == pField.getType()) {
        // the most used ID
        Long val;
        if (pFrom == null) {
          val = null;
        } else {
          val = (Long) pGetter.invoke(pFrom);
        }
        pTo.put(pName, val);
        return true;
      } else if (String.class == pField.getType()) {
        // e.g. UserRoleTomcatPriority.userRoleTomcat.itsRole
        // or UserRoleTomcatPriority.userRoleTomcat.itsUser.itsUser
        String val;
        if (pFrom == null) {
          val = null;
        } else {
          //String ID must not be needed to SQL escape
          val = (String) pGetter.invoke(pFrom);
        }
        pTo.put(pName, val);
        return true;
      }
      return false;
    }