added @Optional to acceptsEnergyFrom