Bukkit/Bukkit — pull request #580 by crast (2012-04-03 23:54:52+00:00)
Title: Refactored (Lazy|Fixed)MetadataValue's conversions into a base class

The implementation of a MetadataValue is complicated by needing to provide a number of conversion functions, refactored this code out of LazyMetadataValue into new base abstract class.

In addition, changed FixedMetadataValue to not be a callable closure implementation of LazyMetadataValue, see explanation in relevant commit.

Includes unit tests with a test implementation as well.