code: function getPropertyGetter(obj, name) {
      var pi = obj.constructor.$propertyGetterInfo,
          m  = null,
          suffix = null;
  
      if (pi !== undefined) {
          if (pi[name] === undefined) {
              suffix = name[0].toUpperCase() + name.substring(1);
              m  = obj[ "get" + suffix];
              if (typeof m !== 'function') {
                  m = obj[ "is" + suffix];
              }
              pi[name] = (typeof m  === "function") ? m : null;
          }
          return pi[name];
      } else {
          suffix = name[0].toUpperCase() + name.substring(1);
          m      = obj[ "get" + suffix];
          if (typeof m !== 'function') {
              m = obj[ "is" + suffix];
          }
          return (typeof m === 'function') ? m : null;
      }
  }
docs: Get a property getter method if it is declared with the class of the specified object for the
  given property. Getter is a method whose name matches the following patterns: "get<PropertyName>"
  or "is<PropertyName>" where the first letter of the property name is in upper case. For instance
  getter method for property "color" has to have name "getColor".
  @param  {Object} obj an object instance
  @param  {String} name a property name
  @return {Function}  a method that can be used as a getter for the given property
  @method  getPropertyGetter
  @for zebkit