code: @Override
      public String getValue(String variable) throws NotAvailableException {
          String key;
          for (Map.Entry<Descriptors.FieldDescriptor, Object> fieldEntry : message.getAllFields().entrySet()) {
              key = StringProcessor.transformToUpperCase(fieldEntry.getKey().getName());
              if (key.equals(variable) || (StringProcessor.transformToUpperCase(message.getClass().getSimpleName()) + "/" + key).equals(variable)) {
                  if (!fieldEntry.getValue().toString().isEmpty()) {
                      return fieldEntry.getValue().toString();
                  }
              }
          }
          throw new NotAvailableException("Value for Variable[" + variable + "]");
      }
docs: {@inheritDoc}
  
  @param variable {@inheritDoc}
  @return {@inheritDoc}
  @throws NotAvailableException {@inheritDoc}