code: @Override
      public D doDeserialize( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) {
          if ( params.getShape().isNumeric() || JsonToken.NUMBER.equals( reader.peek() ) ) {
              return deserializeNumber( reader.nextLong(), params );
          } else {
              return deserializeString( reader.nextString(), ctx, params );
          }
      }
docs: {@inheritDoc}