microsoft-azure-storage/src/com/microsoft/azure/storage/table/TableServiceEntity.java
@Override
    public HashMap<String, EntityProperty> writeEntity(final OperationContext opContext) throws StorageException {
        try {
            return writeEntityWithReflection(this);
        }
        catch (final IllegalAccessException e) {
            throw new StorageException(StorageErrorCodeStrings.INTERNAL_ERROR,
                    SR.ATTEMPTED_TO_SERIALIZE_INACCESSIBLE_PROPERTY, Constants.HeaderConstants.HTTP_UNUSED_306, null, e);
        }
        catch (final InvocationTargetException e) {
            throw new StorageException(StorageErrorCodeStrings.INTERNAL_ERROR,
                    SR.EXCEPTION_THROWN_DURING_SERIALIZATION, Constants.HeaderConstants.HTTP_UNUSED_306, null, e);
        }
    }
@Override
    public HashMap<String, EntityProperty> writeEntity(final OperationContext opContext) throws StorageException {
        try {
            return writeEntityWithReflection(this);
        }
        catch (final IllegalAccessException e) {
            throw new StorageException(StorageErrorCodeStrings.INTERNAL_ERROR,
                    SR.ATTEMPTED_TO_SERIALIZE_INACCESSIBLE_PROPERTY, Constants.HeaderConstants.HTTP_UNUSED_306, null, e);
        }
        catch (final InvocationTargetException e) {
            throw new StorageException(StorageErrorCodeStrings.INTERNAL_ERROR,
                    SR.EXCEPTION_THROWN_DURING_SERIALIZATION, Constants.HeaderConstants.HTTP_UNUSED_306, null, e);
        }
    }
Returns a map of property names to {@link EntityProperty} data typed values created by serializing this table
entity instance.
<p>
This method invokes {@link #writeEntityWithReflection} to serialize the table entity instance the method is
called on using reflection. Table entity classes that extend {@link TableServiceEntity} can take advantage of
this behavior by implementing getter and setter methods for the particular properties of the table entity in
Microsoft Azure storage the class represents. Note that the property names "PartitionKey", "RowKey", and
"Timestamp" are reserved and will be ignored if set on other methods with the {@link StoreAs} annotation.
<p>
Override this method in classes that extend {@link TableServiceEntity} to invoke custom serialization code.

@param opContext
An {@link OperationContext} object used to track the execution of the operation.
@return
A <code>java.util.HashMap</code> of <code>String</code> property names to {@link EntityProperty} data
typed values representing the properties serialized from this table entity instance.
@throws StorageException
if an error occurs during the serialization.