code: @SuppressWarnings({"unchecked"})
      public void loopOrSingle(final Object x, final IterCallback<V> callback) {
          if (x == null) {
              return;
          }
  
          //A collection
          if (x instanceof Collection<?>) {
              final Collection<?> l = (Collection<?>) x;
              for (final Object o : l) {
                  callback.eval((V) o);
              }
              return;
          }
  
          //An array of Object[]
          if (x.getClass().isArray()) {
              for (final Object o : (Object[]) x) {
                  callback.eval((V) o);
              }
              return;
          }
  
          callback.eval((V) x);
      }
docs: Calls eval for each entry found, or just once if the "x" isn't iterable/collection/list/etc. with "x"
  
  @param x        the object process
  @param callback the callback