this.targetClass = targetClass;
TInstance targetInstance = targetClass.instance(sourceInstance == null || sourceInstance.nullability());
tcast = context.getServer().typesRegistryService().getCastsResolver()
.cast(sourceInstance, targetInstance);
if (tcast == null)
throw new NoSuchCastException(sourceInstance, targetInstance);
tcontext = new TExecutionContext(Collections.singletonList(sourceInstance),
targetInstance,
context);
target = new Value(targetInstance);
}