@Override
 protected CoordinateTransform buildInstance() throws IllegalArgumentException {
   if (resolvedInstance == null) {
     throw new IllegalArgumentException(
         "spec reference to id '" + refId + "' has not been resolved");
   }
   return resolvedInstance.buildInstance();
 }
 @Override
 public void addUnresolvedIds(final Set<String> unresolvedIds) {
   if (resolvedInstance == null) {
     unresolvedIds.add(getEffectiveRefId());
   } else {
     resolvedInstance.addUnresolvedIds(unresolvedIds);
   }
 }
 @Override
 public void flatten(final ListTransformSpec flattenedList) throws IllegalStateException {
   if (!isFullyResolved()) {
     throw new IllegalStateException(
         "cannot flatten unresolved reference to " + getEffectiveRefId());
   }
   resolvedInstance.flatten(flattenedList);
 }
 @Override
 public boolean isFullyResolved() throws IllegalStateException {
   return ((resolvedInstance != null) && (resolvedInstance.isFullyResolved()));
 }