code: function isDefined (object) {
      var
          propertyName;
      if (object === null || object === undefined) {
          return false;
      }
      if (objectHelper.isArray(object)) {
          // Section 2.3: A variable defined as a list value is considered undefined if the list contains zero members
          return object.length > 0;
      }
      if (typeof object === "string" || typeof object === "number" || typeof object === "boolean") {
          // falsy values like empty strings, false or 0 are "defined"
          return true;
      }
      // else Object
      for (propertyName in object) {
          if (object.hasOwnProperty(propertyName) && isDefined(object[propertyName])) {
              return true;
          }
      }
      return false;
  }
docs: Detects, whether a given element is defined in the sense of rfc 6570
  Section 2.3 of the RFC makes clear defintions:
  * undefined and null are not defined.
  * the empty string is defined
  * an array ("list") is defined, if it is not empty (even if all elements are not defined)
  * an object ("map") is defined, if it contains at least one property with defined value
  @param object
  @return {Boolean}