This simple program simulates a text editor that supports different typefaces and sizes of characters. Each character in the Editor class is represented by a Glyph object which stores the character itself, as well as its font and size. As glyphs may repeat in a long text, it's a good idea to cache them in order to avoid creating unnecessary objects.
Your task is to write the getOrPut method in the GlyphCache class that accepts a character, its font and size, and then returns the corresponding Glyph which is either retrieved from cache or created on demand. The main purpose of this method is to make sure that only one Glyph object is created with any unique combination of the character, font and size.
Consider calculating a hash to solve this task.