examples/bower_components/polymer/polymer.js
function(p) {
      if (p && p.element) {
        this.parseDeclarations(p.__proto__);
        p.parseDeclaration.call(this, p.element);
      }
    }
function(p) {
      if (p && p.element) {
        this.parseDeclarations(p.__proto__);
        p.parseDeclaration.call(this, p.element);
      }
    }
function ( p ) { if ( p && p . element ) { this . parseDeclarations ( p . __proto__ ) ; p . parseDeclaration . call ( this , p . element ) ; } }
Walks the prototype-chain of this element and allows specific
classes a chance to process static declarations.

In particular, each polymer-element has it's own `template`.
`parseDeclarations` is used to accumulate all element `template`s
from an inheritance chain.

`parseDeclaration` static methods implemented in the chain are called
recursively, oldest first, with the `<polymer-element>` associated
with the current prototype passed as an argument.

An element may override this method to customize shadow-root generation.

@method parseDeclarations
Walks the prototype - chain of this element and allows specific classes a chance to process static declarations .