code: static public Field findFieldInAnyParentOrMyself(
              final ICmdLineArg<?> arg,
              final Class<?> targetClass,
              final String errMsg)
                      throws ParseException
      {
          Field field = null;
          try
          {
              field = targetClass.getDeclaredField(arg.getVariable());
          } catch (final SecurityException e)
          {
              throw new ParseException("SecurityException " + errMsg, -1);
          } catch (final NoSuchFieldException e)
          {
              if (targetClass.getSuperclass() == null)
                  throw new ParseException("NoSuchFieldException " + errMsg, -1);
              /*
               * recursive from here
               */
              return findFieldInAnyParentOrMyself(arg, targetClass.getSuperclass(), errMsg);
          }
          return field;
      }
docs: <p>
  findFieldInAnyParentOrMyself.
  </p>
  
  @param arg a {@link com.obdobion.argument.type.ICmdLineArg} object.
  @param targetClass a {@link java.lang.Class} object.
  @param errMsg a {@link java.lang.String} object.
  @return a {@link java.lang.reflect.Field} object.
  @throws java.text.ParseException if any.