This seems like a really leaky abstraction. Why isn't apiCommand able to hide the fact that this is an attribute on its baseResource? I feel like this class should either be always setting partnerMetadata on apiCommand.getBaseResource(), or baseResource should be hidden in this context.