Minor simplification.
Whitespace.
Reuse path object.
Renamed methods on ModelPromise to match the names used on ModelProjection.
Changed ModelProjection to extend ModelAdapter and ModelPromise, so that various wrappers are no longer required and to reduce the object count for each model graph node.
final field.
Removed abstract method inherited from interface.