O problema está em que colocar o credor na situação em que estaria se o contrato tivesse sido cumprido pode conseguir-se através de uma indemnização calculada de acordo com a teoria da sub-rogação ou da troca ou através de uma indemnização calculada de acordo com a teoria da diferença — a teoria da sub-rogação ou teoria da troca diz-nos que o credor da obrigação não cumprida tem o encargo ou o ónus de realizar a sua contraprestação em espécie para conseguir uma indemnização em dinheiro correspondente ao valor da prestação não realizada; a teoria da diferença, diz-nos que a o credor da obrigação não cumprida não tem o ónus de realizar a sua contraprestação em espécie para conseguir uma indemnização em dinheiro corresponde à diferença entre o valor da contraprestação e o valor da indemnização dos danos causados pela não realização da prestação pelo devedor   2 A indemnização prevista no art.