9. A non-transitory machine-readable medium having stored thereon a series of instructions executable by a processor, the series of instructions comprising: instructions that cause the processor to receive a request for a customized version of a base metadata document, wherein the base metadata document defines one or more characteristics of at least a portion of a software application, and wherein the base metadata document is to be customized for a first user among a plurality of users of the software application; instructions that cause the processor to identify a first customization for the base metadata document, wherein the first customization defines a customized version of the base metadata document for the plurality of users; instructions that cause the processor to include in the first customization a first cache hint indicating that the first customization is applicable to the plurality of users; instructions that cause the processor to identify a second customization for the base metadata document, wherein the second customization defines a customized version of the base metadata document for only the first user; instructs that cause the processor to include in the second customization a second cache hint indicating that the second customization is applicable only to the first user; instructions that cause the processor to generate a first customized metadata document based on the first customization and the base metadata document; instructions that cause the processor to generate a second customized metadata document based on the first customized metadata document and the second customization; instructions that cause the processor to store the first customized metadata document in a shared cache applicable to application sessions of the plurality of users, wherein the first customized metadata document is stored in the shared cache based on the first cache hint included in the first customization and is stored in a working memory as a first tree memory structure, the first tree memory structure including an allocated memory segment for a first element of the first customized metadata document and an allocated memory segment for a second element of the first customized metadata document; instructions that cause the processor to store the second customized metadata document in a session cache applicable only to an application session of the first user, wherein the second customized metadata document is stored in the session cache based on the second cache hint included in the second customization and is stored in the working memory as a second tree memory structure, the second tree memory structure including a pointer to the allocated memory segment for the first element in the first tree memory structure and an allocated memory segment for a modified version of the second element; and instructions that cause the processor to return the second customized metadata document.
9. A non-transitory machine-readable medium having stored thereon a series of instructions executable by a processor, the series of instructions comprising: instructions that cause the processor to receive a request for a customized version of a base metadata document, wherein the base metadata document defines one or more characteristics of at least a portion of a software application, and wherein the base metadata document is to be customized for a first user among a plurality of users of the software application; instructions that cause the processor to identify a first customization for the base metadata document, wherein the first customization defines a customized version of the base metadata document for the plurality of users; instructions that cause the processor to include in the first customization a first cache hint indicating that the first customization is applicable to the plurality of users; instructions that cause the processor to identify a second customization for the base metadata document, wherein the second customization defines a customized version of the base metadata document for only the first user; instructs that cause the processor to include in the second customization a second cache hint indicating that the second customization is applicable only to the first user; instructions that cause the processor to generate a first customized metadata document based on the first customization and the base metadata document; instructions that cause the processor to generate a second customized metadata document based on the first customized metadata document and the second customization; instructions that cause the processor to store the first customized metadata document in a shared cache applicable to application sessions of the plurality of users, wherein the first customized metadata document is stored in the shared cache based on the first cache hint included in the first customization and is stored in a working memory as a first tree memory structure, the first tree memory structure including an allocated memory segment for a first element of the first customized metadata document and an allocated memory segment for a second element of the first customized metadata document; instructions that cause the processor to store the second customized metadata document in a session cache applicable only to an application session of the first user, wherein the second customized metadata document is stored in the session cache based on the second cache hint included in the second customization and is stored in the working memory as a second tree memory structure, the second tree memory structure including a pointer to the allocated memory segment for the first element in the first tree memory structure and an allocated memory segment for a modified version of the second element; and instructions that cause the processor to return the second customized metadata document. 11. The non-transitory machine-readable medium of claim 9 , wherein the first customized metadata document further includes one or more elements as direct or indirect parents of the second element, wherein the second customized metadata document further includes the one or more elements as direct or indirect parents of the modified version of the second element, wherein the first memory tree structure further includes allocated memory segments for the one or more elements, and wherein the second memory tree structure further includes allocated memory segments for the one or more elements.