   DerivedType *
   getDerived()
   {
-    return static_cast < DerivedType * > (const_cast < ThisType * > (this));
+    return static_cast<DerivedType *>(const_cast<ThisType *>(this));
   }
 
   inline
   const DerivedType *
   getDerived() const
   {
-    return static_cast < DerivedType * > (const_cast < ThisType * > (this));
+    return static_cast<DerivedType *>(const_cast<ThisType *>(this));
   }
 
 public:

  const char *mNormalString2;
  const char *mNormalString3;
  const char *mNormalString4;

  const __FlashStringHelper *mFlashString0;
  const __FlashStringHelper *mFlashString1;
  const __FlashStringHelper *mFlashString2;
  const __FlashStringHelper *mFlashString3;
  const __FlashStringHelper *mFlashString4;

  String mString0;
  String mString1;
  String mString2;
  String mString3;
  String mString4;
};
class TestBasicStringRef
: public BasicTestStringRef < TestBasicStringRef, BasicStringRef >
{
public:
  typedef BasicStringRef                                           StringRefType;
  typedef BasicTestStringRef < TestBasicStringRef, StringRefType > BaseType;

  TestBasicStringRef()
    : BaseType(F("TestBasicStringRef"))
    , mStringRef0(mNormalString0)
    , mStringRef1(mNormalString1)

}

class TestFlashStringRef
  : public BasicTestStringRef<TestFlashStringRef, RFlashStringRef>
{
public:
  typedef RFlashStringRef                                       StringRefType;
  typedef BasicTestStringRef<TestFlashStringRef, StringRefType> BaseType;

  TestFlashStringRef()

    : BaseType(F("TestFlashStringRef"))
    , mStringRef0(mFlashString0)
    , mStringRef1(mFlashString1)
