public bool CanTransform(TransformationDefinition transformation) { if (transformation == null || IsTransformBlocked() || IsExhaustedFromTransformation() || IsTransformedInto(transformation)) { return(false); } return(transformation.CanTransformInto(this)); }